summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Dufresne <jon.dufresne@gmail.com>2018-08-17 09:43:56 -0700
committerTim Graham <timograham@gmail.com>2018-08-17 12:44:17 -0400
commitcae84904c6a5facc0edd75e030c775de437320e0 (patch)
treed8238736ce9dba36da0868bd10d95f84337a4375
parent9c93bf0903a26a7abee8eb25e1e70e77688f88b0 (diff)
[2.1.x] Refs #29015 -- Added database name to PostgreSQL database name too long exception.
Backport of bf17f5e88466e3f571065345f5b2fea0d8af89fe from master
-rw-r--r--django/db/backends/postgresql/base.py10
-rw-r--r--tests/backends/postgresql/tests.py7
2 files changed, 11 insertions, 6 deletions
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()