Search Postgresql Archives

Re: UNIQUE contraint that is initially deferred in Postgres 8.4.13

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

 



On Thu, Mar 13, 2014 at 12:59 PM, Johannes Bauer <dfnsonfsduifb@xxxxxx> wrote:
Hi list,

I'm having trouble with a UNIQUE constraint that I need to have
DEFERRABLE INITIALLY DEFERRED. On my Dev machine (Postgres 9.1) it works
fine:

alter table foo drop constraint bar;
ALTER TABLE

alter table foo add constraint bar UNIQUE (col1, col2) deferrable
initially deferred;
ALTER TABLE


In Production (Postgres 8.4.13) this blows up in my face although it
should be supported according to the docs:


alter table foo drop constraint bar;
ALTER TABLE

alter table foo add constraint bar UNIQUE (col1, col2) deferrable
initially deferred;
FEHLER:  Syntaxfehler bei »DEFERRABLE«
LINE 1: bar UNIQUE (col1, col2) DEFERRABLE...
                                ^

(i.e. syntax error at "DEFERRABLE", psql seems to ignore my locale
setting).

Does somebody know what the reason for this could be? I'm kind of puzzled.

My guess is you're looking in the wrong place in the docs - can you specify where you are looking? If you are in the right place then the docs are wrong.

Deferrable unique constraints are a new feature in PostgreSQL 9.0, so it shouldn't be working in 8.4.

(And as a sidenote, a reminder that 8.4 will go end of life in just a couple of months, so if you aren't already planning an upgrade of your production environment, it's probably a good idea to start doing that, see http://www.postgresql.org/support/versioning/)

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

[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