Search Postgresql Archives

Re: Running CREATE only on certain Postgres versions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux