On 29 August 2016 at 02:52, Tom Lane <t...@sss.pgh.pa.us> wrote: > "Regina Obe" <l...@pcorp.us> writes: >> The routine in PostGIS to parse out the version number from pg_config is >> breaking in the 10 cycle > > TBH, I wonder why you are doing that in the first place; it does not > seem like the most reliable source of version information. If you > need to do compile-time tests, PG_CATALOG_VERSION is considered the > best thing to look at, or VERSION_NUM in Makefiles.
This is my cue to pop up and say that if you're looking at the startup message you have to use the version string, despite it not being the most reliable source of information, because we don't send server_version_num ;) Patch attached. Yes, I know PostGIS doesn't use it, but it makes no sense to tell people not to parse the server version out in some situations then force them to in others. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
From 9e6fce06b07ca8e272a6125c9a75ac2ba7714d03 Mon Sep 17 00:00:00 2001 From: Craig Ringer <cr...@2ndquadrant.com> Date: Mon, 29 Aug 2016 11:31:52 +0800 Subject: [PATCH] Report server_version_num alongside server_version in startup packet We expose PG_VERSION_NUM in Makefiles and headers and in pg_settings, but the equivalent server_version_num isn't sent in the startup packet so clients must rely on parsing the server_version. Make server_version_num GUC_REPORT so clients can use server_version_num if present and fall back to server_version for older PostgreSQL versions. --- src/backend/utils/misc/guc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index c5178f7..36e3604 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -2767,7 +2767,7 @@ static struct config_int ConfigureNamesInt[] = {"server_version_num", PGC_INTERNAL, PRESET_OPTIONS, gettext_noop("Shows the server version as an integer."), NULL, - GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE + GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE | GUC_REPORT }, &server_version_num, PG_VERSION_NUM, PG_VERSION_NUM, PG_VERSION_NUM, -- 2.5.5
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers