I'm using an external Postgres database. I have a paid account, so the site is connecting to the database and is loading the data as it should. Secrets are saved in the wsgi config file.
However, I have a custom script that is run via python manage.py fetch_posts. This works fine locally, but doesn't work when run from the Bash console:
django.db.utils.OperationalError: connection failed: Connection refused Is the server running on that host and accepting TCP/IP connections?
Connecting directly to the database via psql does work.
I'm wondering whether there's something that not letting the script connect to an external database? This is the same error I was having when trying to connect to the database at all when using the free account. Upgrading to a paid account made most of the errors go away, except for running the script from bash. I'd ideally like to set this up as a recurring task.
This is the full bash command: source .virtualenvs/myvirtualenv/bin/activate && python /home/uxlift/django-uxlift/manage.py fetch_posts
Full error log 16:56 ~ $ source .virtualenvs/myvirtualenv/bin/activate && python /home/uxlift/django-uxlift/manage.py fetch_posts Traceback (most recent call last): File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 289, in ensure_connection self.connect() File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner return func(args, kwargs) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 270, in connect self.connection = self.get_new_connection(conn_params) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner return func(args, kwargs) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/backends/postgresql/base.py", line 269, in get_new_connection connection = self.Database.connect(conn_params) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/psycopg/connection.py", line 728, in connect raise ex.with_traceback(None) psycopg.OperationalError: connection failed: Connection refused Is the server running on that host and accepting TCP/IP connections? The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/uxlift/django-uxlift/manage.py", line 22, in <module> main() File "/home/uxlift/django-uxlift/manage.py", line 18, in main execute_from_command_line(sys.argv) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/core/management/init.py", line 442, in execute_from_command_line utility.execute() File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/core/management/init.py", line 436, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/core/management/base.py", line 412, in run_from_argv self.execute(args, cmd_options) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/core/management/base.py", line 458, in execute output = self.handle(args, options) File "/home/uxlift/django-uxlift/apps/content/management/commands/fetch_posts.py", line 11, in handle for site in Site.objects.filter(include_in_newsfeed=True): File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/models/query.py", line 398, in iter self._fetch_all() File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/models/query.py", line 1881, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/models/query.py", line 91, in iter results = compiler.execute_sql( File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1558, in execute_sql self.ensure_connection() cursor = self.connection.cursor() File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner return func(*args, kwargs) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 330, in cursor return self._cursor() File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 306, in _cursor self.ensure_connection() File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner return func(args, kwargs) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 288, in ensure_connection with self.wrap_database_errors: File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/utils.py", line 91, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 289, in ensure_connection self.connect() File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner return func(args, kwargs) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 270, in connect self.connection = self.get_new_connection(conn_params) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner return func(*args, kwargs) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/django/db/backends/postgresql/base.py", line 269, in get_new_connection connection = self.Database.connect(**conn_params) File "/home/uxlift/.virtualenvs/myvirtualenv/lib/python3.10/site-packages/psycopg/connection.py", line 728, in connect raise ex.with_traceback(None) django.db.utils.OperationalError: connection failed: Connection refused Is the server running on that host and accepting TCP/IP connections?