From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | fbd(at)datasapiens(dot)com |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #14739: Wrong message when unique contraint fail |
Date: | 2017-07-10 16:25:01 |
Message-ID: | 2054.1499703901@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
fbd(at)datasapiens(dot)com writes:
> I am testing PG on this query :
> CREATE TABLE T_UNIK (ID INT UNIQUE);
> INSERT INTO T_UNIK VALUES (1), (2), (3), (4), (5);
> UPDATE T_UNIK SET ID = ID + 1;
> I know that PG is unable to do this set based operation properly because it
> does it row by row (which is a nonsense since it works on many RDBMS)
The solution for that is documented: declare the unique constraint as
deferrable.
regression=# CREATE TABLE T_UNIK (ID INT UNIQUE deferrable );
CREATE TABLE
regression=# INSERT INTO T_UNIK VALUES (1), (2), (3), (4), (5);
INSERT 0 5
regression=# UPDATE T_UNIK SET ID = ID + 1;
UPDATE 5
> But the error message is strongly stupid :
> ERROR: invalid byte sequence for encoding "UTF8": 0xe9 0x71 0x75
I don't get that here. It looks like you must be typing some non-ASCII
characters and not everything is on the same page about what encoding
they are in.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Devrim Gündüz | 2017-07-10 16:51:51 | Re: postgresql 96 for Centos 7 download not found |
Previous Message | David G. Johnston | 2017-07-10 16:19:13 | Re: BUG #14739: Wrong message when unique contraint fail |