diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py index 025981c1e5..ad6c504261 100644 --- a/django/db/backends/postgresql/base.py +++ b/django/db/backends/postgresql/base.py @@ -151,9 +151,13 @@ class DatabaseWrapper(BaseDatabaseWrapper): "Please supply the NAME value.") if len(settings_dict['NAME'] or '') > self.ops.max_name_length(): raise ImproperlyConfigured( - 'Database names longer than %d characters are not supported by ' - 'PostgreSQL. Supply a shorter NAME in settings.DATABASES.' - % self.ops.max_name_length() + "The database name '%s' (%d characters) is longer than " + "PostgreSQL's limit of %d characters. Supply a shorter NAME " + "in settings.DATABASES." % ( + settings_dict['NAME'], + len(settings_dict['NAME']), + self.ops.max_name_length(), + ) ) conn_params = { 'database': settings_dict['NAME'] or 'postgres', diff --git a/tests/backends/postgresql/tests.py b/tests/backends/postgresql/tests.py index e64e097fd1..6fd0ba4420 100644 --- a/tests/backends/postgresql/tests.py +++ b/tests/backends/postgresql/tests.py @@ -48,9 +48,10 @@ class Tests(TestCase): max_name_length = connection.ops.max_name_length() settings['NAME'] = 'a' + (max_name_length * 'a') msg = ( - 'Database names longer than %d characters are not supported by ' - 'PostgreSQL. Supply a shorter NAME in settings.DATABASES.' - ) % max_name_length + "The database name '%s' (%d characters) is longer than " + "PostgreSQL's limit of %s characters. Supply a shorter NAME in " + "settings.DATABASES." + ) % (settings['NAME'], max_name_length + 1, max_name_length) with self.assertRaisesMessage(ImproperlyConfigured, msg): DatabaseWrapper(settings).get_connection_params()