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/