BUG #18711: Attempting a connection with a database name longer than 63 characters now fails

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: adam(at)labkey(dot)com
Subject: BUG #18711: Attempting a connection with a database name longer than 63 characters now fails
Date: 2024-11-16 00:12:27
Message-ID: 18711-7503ee3e449d2c47@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 18711
Logged by: Adam Rauch
Email address: adam(at)labkey(dot)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

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Danish Hajwane 2024-11-16 04:29:47 Re: Libpq library error when doing physical Replication
Previous Message Tom Lane 2024-11-16 00:08:57 Re: BUG #18708: regex problem: (?:[^\d\D]){0} asserts with "lp->nouts == 0 && rp->nins == 0"