Connection to Postgresql server on socket "/var/run/postgresql/.s.PGSQL.5432" failed. OperationalError on railway.app

I deployed my Django app on railway.app recently. After deployment, I tried to login into my app when I was confronted by this OperationalError. The Traceback looks something like this:

Environment:


Request Method: POST
Request URL: http://optimuscore.up.railway.app/

Django Version: 4.0
Python Version: 3.10.9
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'account',
 'dhule',
 'solapur',
 'mathfilters',
 'django_filters']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback (most recent call last):
  File "/opt/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 230, in ensure_connection
    self.connect()
  File "/opt/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 25, in inner
    return func(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 211, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/opt/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 25, in inner
    return func(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/django/db/backends/postgresql/base.py", line 199, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/opt/venv/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)

The above exception (connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
    Is the server running locally and accepting connections on that socket?
) was the direct cause of the following exception:
  File "/opt/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/app/accounting/account/views.py", line 72, in login
    print('fm: ', fm)
  File "/opt/venv/lib/python3.10/site-packages/django/forms/utils.py", line 55, in render
    context or self.get_context(),
  File "/opt/venv/lib/python3.10/site-packages/django/forms/forms.py", line 298, in get_context
    top_errors = self.non_field_errors().copy()
  File "/opt/venv/lib/python3.10/site-packages/django/forms/forms.py", line 333, in non_field_errors
    return self.errors.get(
  File "/opt/venv/lib/python3.10/site-packages/django/forms/forms.py", line 185, in errors
    self.full_clean()
  File "/opt/venv/lib/python3.10/site-packages/django/forms/forms.py", line 405, in full_clean
    self._clean_form()
  File "/opt/venv/lib/python3.10/site-packages/django/forms/forms.py", line 426, in _clean_form
    cleaned_data = self.clean()
  File "/opt/venv/lib/python3.10/site-packages/django/contrib/auth/forms.py", line 205, in clean
    self.user_cache = authenticate(self.request, username=username, password=password)
  File "/opt/venv/lib/python3.10/site-packages/django/views/decorators/debug.py", line 42, in sensitive_variables_wrapper
    return func(*func_args, **func_kwargs)
  File "/opt/venv/lib/python3.10/site-packages/django/contrib/auth/__init__.py", line 76, in authenticate
    user = backend.authenticate(request, **credentials)
  File "/opt/venv/lib/python3.10/site-packages/django/contrib/auth/backends.py", line 42, in authenticate
    user = UserModel._default_manager.get_by_natural_key(username)
  File "/opt/venv/lib/python3.10/site-packages/django/contrib/auth/base_user.py", line 44, in get_by_natural_key
    return self.get(**{self.model.USERNAME_FIELD: username})
  File "/opt/venv/lib/python3.10/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/django/db/models/query.py", line 435, in get
    num = len(clone)
  File "/opt/venv/lib/python3.10/site-packages/django/db/models/query.py", line 262, in __len__
    self._fetch_all()
  File "/opt/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1354, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/opt/venv/lib/python3.10/site-packages/django/db/models/query.py", line 51, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "/opt/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1200, in execute_sql
    cursor = self.connection.cursor()
  File "/opt/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 25, in inner
    return func(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 270, in cursor
    return self._cursor()
  File "/opt/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 246, in _cursor
    self.ensure_connection()
  File "/opt/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 25, in inner
    return func(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 229, in ensure_connection
    with self.wrap_database_errors:
  File "/opt/venv/lib/python3.10/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/opt/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 230, in ensure_connection
    self.connect()
  File "/opt/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 25, in inner
    return func(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 211, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/opt/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 25, in inner
    return func(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/django/db/backends/postgresql/base.py", line 199, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/opt/venv/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)

Exception Type: OperationalError at /
Exception Value: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
    Is the server running locally and accepting connections on that socket?

The link to my GitHub repository is https://github.com/vimpa5/OptimuScore

Can someone please help me find where the issue lies and suggest how I can overcome this problem?

EDIT #1:

While deploying the app I had psycopg2 package installed on my project but once this error occurred, I went through a YouTube tutorial about deployment of Django app on railway.app and there, the guy had psycopg2-binary in his requirements.txt, I panicked and uninstalled my psycopg2 package and installed psycopg2-binary, updated my requirements.txt and pushed it to my GitHub repo. But I'm still facing the same error, which probably proves that the package was not the problem. Meanwhile, when I was going through the Traceback, I noticed a line;

File "/opt/venv/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)

which somehow shows that my deployed project wasn't totally updated as per the pushed updates. I literally can't figure out where all this is going, how I can tackle this issue!

Back to Top