Search Postgresql Archives

Re: Update violating constraint

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

 



Alvaro Herrera wrote:
> Alban Hertroys wrote:
> > Richard Huxton wrote:
> > > Alban Hertroys wrote:
> > >> Naz Gassiep wrote:
> > >>> Hi,
> > >>>     I'm trying to do an update on a table that has a unique constraint
> > >>> on the field, I need to update the table by setting field = field+1 
> > > 
> > >> I think you're looking for deferrable constraints; see:
> > >>
> > >> http://www.postgresql.org/docs/8.2/static/sql-set-constraints.html
> > > 
> > > Which won't work with unique constraints unfortunately. That's because
> > > they're implemented through a unique index.
> > 
> > I appreciate the complexities involved, but that really ought to work on
> > a single statement. I recall seeing something along these lines on the
> > TODO list some time ago?
> 
> It is still on the TODO list.  If you want it to disappear from there,
> your best bet is implementing a fix, followed by motivating someone to
> do it for you.  If you don't, bets are someone will do it eventually
> (which may be too late for your taste).

Yes, TODO has:

        o Allow DEFERRABLE and end-of-statement UNIQUE constraints?

          This would allow UPDATE tab SET col = col + 1 to work if col has
          a unique index.  Currently, uniqueness checks are done while the
          command is being executed, rather than at the end of the statement
          or transaction.
          http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html
          http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php

-- 
  Bruce Momjian  <bruce@xxxxxxxxxx>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +


[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