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 по дате отправления: