Re: Running CREATE only on certain Postgres versions

Поиск
Список
Период
Сортировка
От Robert James
Тема Re: Running CREATE only on certain Postgres versions
Дата
Msg-id CAGYyBggtzeb1SaU6ryRb3A-z27Oi=FVSaMAyAYtESsBB286WyQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Running CREATE only on certain Postgres versions  (Igor Neyman <ineyman@perceptron.com>)
Ответы Re: Running CREATE only on certain Postgres versions
Список pgsql-general
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@perceptron.com> wrote:
>> -----Original Message-----
>> From: Robert James [mailto:srobertjames@gmail.com]
>> 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
>


В списке pgsql-general по дате отправления:

Предыдущее
От: François Beausoleil
Дата:
Сообщение: What am I doing wrong?
Следующее
От: David Johnston
Дата:
Сообщение: Re: Running CREATE only on certain Postgres versions