Server parameter: server_version_num http://www.postgresql.org/docs/9.2/interactive/runtime-config-preset.html David J. On Sep 24, 2012, at 21:23, Robert James <srobertjames@xxxxxxxxx> wrote: > Unfortunately, SELECT VERSION() gives a long text string - parsing out > the version isn't reliable. > > So, we can reduce my question to a simpler question: What's the best > way to determine if postgres is running > version x? > > Or, what's the best way to determine the exact version number > programatically (ie not just a long string) > > On 9/24/12, Igor Neyman <ineyman@xxxxxxxxxxxxxx> wrote: >>> -----Original Message----- >>> From: Robert James [mailto:srobertjames@xxxxxxxxx] >>> Sent: Monday, September 24, 2012 9:33 AM >>> To: Postgres General >>> Subject: Running CREATE only on certain Postgres versions >>> >>> I have some code which creates a function in Postgres, taken from >>> http://wiki.postgresql.org/wiki/Array_agg . >>> >>> DROP AGGREGATE IF EXISTS array_agg(anyelement); CREATE AGGREGATE >>> array_agg(anyelement) ( SFUNC=array_append, STYPE=anyarray, >>> INITCOND='{}' >>> ); >>> >>> The function was added in 8.4, and so the code fails when run on 8.4 or >>> higher. >>> >>> How can I make the code cross-version compatible? For instance, how >>> can I tell it to check the version, and only run if 8.3 or lower? Or >>> another way to make it cross-version? >> >> Find your PG version with: >> SELECT version(); >> >> and continue accordingly... >> >> Regards, >> Igor Neyman >> > > > -- > Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general