﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
37285	`manage.py check` started requiring DB to exist (PostgreSQL)	Ran Benita		"Hi,

I just attempted 6.0 -> 6.1 upgrade, and found that `./manage.py check` started requiring the DB to exist. I am using PostgreSQL, and the traceback suggests this may be PG-backend-specific due to the new PG `supports_virtual_generated_columns` feature in 6.1. It checks the PG version which I guess needs an active DB connection.

This is a problem for me because I run `./manage.py check` in CI without the DB present. I think it makes sense because I run it in the ""lint"" phase of my CI checks, and there has not previously been a reason to have the DB exist in CI (note this is the e.g. `mydb` defined in `DATABASES`, not `test_mydb`).

If this is intended behavior that `check` requires a DB to be present, and my use just happened to work before, it's easy enough to workaround, but I thought perhaps it might not be intended.

Traceback:


{{{
$ ./manage.py check
Traceback (most recent call last):
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/base/base.py"", line 279, in ensure_connection
    self.connect()
    ~~~~~~~~~~~~^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/utils/asyncio.py"", line 26, in inner
    return func(*args, **kwargs)
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/base/base.py"", line 256, in connect
    self.connection = self.get_new_connection(conn_params)
                      ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/utils/asyncio.py"", line 26, in inner
    return func(*args, **kwargs)
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/postgresql/base.py"", line 345, in get_new_connection
    connection = self.Database.connect(**conn_params)
  File ""snipped/.venv/lib/python3.14/site-packages/psycopg/connection.py"", line 122, in connect
    raise last_ex.with_traceback(None)
psycopg.OperationalError: connection failed: connection to server on socket ""/var/run/postgresql/.s.PGSQL.5432"" failed: FATAL:  database ""mydb"" does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File ""snipped/manage.py"", line 5, in <module>
    main()
    ~~~~^^
  File ""snipped/manage.py"", line 73, in main
    execute_from_command_line(sys.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/core/management/__init__.py"", line 443, in execute_from_command_line
    utility.execute()
    ~~~~~~~~~~~~~~~^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/core/management/__init__.py"", line 437, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/core/management/base.py"", line 422, in run_from_argv
    self.execute(*args, **cmd_options)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/core/management/base.py"", line 466, in execute
    output = self.handle(*args, **options)
  File ""snipped/.venv/lib/python3.14/site-packages/django/core/management/commands/check.py"", line 81, in handle
    self.check(
    ~~~~~~~~~~^
        app_configs=app_configs,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
        databases=options[""databases""],
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File ""snipped/.venv/lib/python3.14/site-packages/django/core/management/base.py"", line 498, in check
    all_issues = checks.run_checks(
        app_configs=app_configs,
    ...<2 lines>...
        databases=databases,
    )
  File ""snipped/.venv/lib/python3.14/site-packages/django/core/checks/registry.py"", line 99, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
  File ""snipped/.venv/lib/python3.14/site-packages/django/core/checks/model_checks.py"", line 36, in check_all_models
    errors.extend(model.check(**kwargs))
                  ~~~~~~~~~~~^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/models/base.py"", line 1785, in check
    *cls._check_fields(**kwargs),
     ~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/models/base.py"", line 1948, in _check_fields
    errors.extend(field.check(**kwargs))
                  ~~~~~~~~~~~^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/models/fields/generated.py"", line 84, in check
    *self._check_supported(databases),
     ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/models/fields/generated.py"", line 135, in _check_supported
    connection.features.supports_virtual_generated_columns
  File ""snipped/.venv/lib/python3.14/site-packages/django/utils/functional.py"", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ~~~~~~~~~^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/postgresql/features.py"", line 186, in is_postgresql_18
    return self.connection.pg_version >= 180000
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/utils/functional.py"", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ~~~~~~~~~^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/postgresql/base.py"", line 556, in pg_version
    with self.temporary_connection():
         ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "".local/share/uv/python/cpython-3.14.6-linux-x86_64-gnu/lib/python3.14/contextlib.py"", line 141, in __enter__
    return next(self.gen)
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/base/base.py"", line 695, in temporary_connection
    with self.cursor() as cursor:
         ~~~~~~~~~~~^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/utils/asyncio.py"", line 26, in inner
    return func(*args, **kwargs)
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/base/base.py"", line 320, in cursor
    return self._cursor()
           ~~~~~~~~~~~~^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/base/base.py"", line 296, in _cursor
    self.ensure_connection()
    ~~~~~~~~~~~~~~~~~~~~~~^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/utils/asyncio.py"", line 26, in inner
    return func(*args, **kwargs)
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/base/base.py"", line 278, in ensure_connection
    with self.wrap_database_errors:
         ^^^^^^^^^^^^^^^^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/utils.py"", line 94, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/base/base.py"", line 279, in ensure_connection
    self.connect()
    ~~~~~~~~~~~~^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/utils/asyncio.py"", line 26, in inner
    return func(*args, **kwargs)
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/base/base.py"", line 256, in connect
    self.connection = self.get_new_connection(conn_params)
                      ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File ""snipped/.venv/lib/python3.14/site-packages/django/utils/asyncio.py"", line 26, in inner
    return func(*args, **kwargs)
  File ""snipped/.venv/lib/python3.14/site-packages/django/db/backends/postgresql/base.py"", line 345, in get_new_connection
    connection = self.Database.connect(**conn_params)
  File ""snipped/.venv/lib/python3.14/site-packages/psycopg/connection.py"", line 122, in connect
    raise last_ex.with_traceback(None)
django.db.utils.OperationalError: connection failed: connection to server on socket ""/var/run/postgresql/.s.PGSQL.5432"" failed: FATAL:  database ""mydb"" does not exist
}}}"	Bug	closed	Core (System checks)	6.1	Normal	duplicate			Unreviewed	0	0	0	0	0	0
