BUG #18711: Attempting a connection with a database name longer than 63 characters now fails
The Post Office <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: adam@labkey.com
Date: 2024-11-16T00:12:27Z
Lists: pgsql-bugs
The following bug has been logged on the website: Bug reference: 18711 Logged by: Adam Rauch Email address: adam@labkey.com PostgreSQL version: 17.1 Operating system: Windows 11 Description: For many years, our test infrastructure has used database names that are longer than the stated maximum length of 63 characters. The PostgreSQL server simply truncates these names to 63 characters in all operations and everything works fine. Starting with 17.x, our application is able to CREATE and ALTER databases with long names, but all connection attempts using them fail with an error: database "<very long name>" does not exist I fully recognize that these names are not legal, the previous truncation behavior was not documented, and there are obvious ways to work around this "issue." But given the long running truncation behavior, the now inconsistent behavior (CREATE and ALTER happily accept long database names, but connections fail), and the lack of any mention in the release notes makes me think this may be an unintentional change worth flagging. I happen to be connecting via the (latest) JDBC driver. I can provide the simple Java code that passes on PostgreSQL 16 but fails on PostgreSQL 17, if needed. Thanks! Adam
Commits
-
Revert "Don't truncate database and user names in startup packets."
- d09fbf645ece 17.3 landed
- a0ff56e2d3ff 18.0 landed
-
Don't truncate database and user names in startup packets.
- 562bee0fc13d 17.0 cited
-
Truncate incoming username and database name to NAMEDATALEN-1 characters
- d18c1d1f5102 7.1.1 cited