Hi Hackers,
I was hoping to get some clarification regarding a behaviour I observed while connecting to the special 'pgbouncer' database used for administering or monitoring Pgbouncer.
After the commit cf0cab868a, introduced in PG15, I noticed that when connecting to the 'pgbouncer' database via Pgbouncer, the following warning is shown:
psql (17.2, server 1.20.1/bouncer)
WARNING: psql major version 17, server major version 1.20.
Some psql features might not work.
|
From what I understand, this seems to be due to the lower version check in the
connection_warnings() function, where we check if
pset.sversion < 90200.
if (pset.sversion / 100 > client_ver / 100 ||
pset.sversion < 90200)
printf(_("WARNING: %s major version %s, server major version %s.\n"
" Some psql features might not work.\n"),
pset.progname,
formatPGVersionNumber(client_ver, false,
cverbuf, sizeof(cverbuf)),
formatPGVersionNumber(pset.sversion, false,
sverbuf, sizeof(sverbuf)));
|
In my case,
pset.sversion ends up being
12001 (due to PgBouncer v1.20.1), and since that’s less than
90200, the warning gets triggered, which feels misleading. But I was wondering - does it really make sense to compare PgBouncer’s version in this context using the same logic as PostgreSQL server versions?
Is this an expected behaviour, or would it make sense to handle Pgbouncer differently in this check?
Appreciate any insights!
Thanks & Regards,
Shaik Mohammad Mujeeb
Member Technical Staff
Zoho Corp