Re: Duplicate data even with primary keys enabled

Поиск
Список
Период
Сортировка
Искать
От
Holger Jakobs
Тема
Re: Duplicate data even with primary keys enabled
Дата
Msg-id
782c8ac1-0551-d383-b30f-0bdc956e2d90@jakobs.com
Ответ на
Список
Дерево обсуждения
Duplicate data even with primary keys enabled Teja Jakkidi <teja.jakkidi05@gmail.com>
Re: Duplicate data even with primary keys enabled Samed YILDIRIM <samed@reddoc.net>
Re: Duplicate data even with primary keys enabled Ron <ronljohnsonjr@gmail.com>
Re: Duplicate data even with primary keys enabled Samed YILDIRIM <samed@reddoc.net>
Re: Duplicate data even with primary keys enabled Teja Jakkidi <teja.jakkidi05@gmail.com>
Re: Duplicate data even with primary keys enabled Holger Jakobs <holger@jakobs.com>
Re: Duplicate data even with primary keys enabled Teju Jakkidi vlogs <teja.jakkidi05@gmail.com>
Re: Duplicate data even with primary keys enabled Scott Ribe <scott_ribe@elevated-dev.com>
Re: Duplicate data even with primary keys enabled Teju Jakkidi vlogs <teja.jakkidi05@gmail.com>
Re: Duplicate data even with primary keys enabled Jwiencek3 <jwiencek3@comcast.net>
Re: Duplicate data even with primary keys enabled Scott Ribe <scott_ribe@elevated-dev.com>
Re: Duplicate data even with primary keys enabled Erik Wienhold <ewie@ewie.name>
Re: Duplicate data even with primary keys enabled abbas alizadeh <ramkly@yahoo.com>
Re: Duplicate data even with primary keys enabled Scott Ribe <scott_ribe@elevated-dev.com>
Re: Duplicate data even with primary keys enabled Jayson Hreczuck <jayson.hreczuck@studentuniverse.com>
Re: Duplicate data even with primary keys enabled Scott Ribe <scott_ribe@elevated-dev.com>
Re: Duplicate data even with primary keys enabled Samed YILDIRIM <samed@reddoc.net>
Re: Duplicate data even with primary keys enabled Marco DE BOOIJ <marco.maillist@debooy.eu>
Re: Duplicate data even with primary keys enabled Holger Jakobs <holger@jakobs.com>
Re: Duplicate data even with primary keys enabled Marco DE BOOIJ <marco.developer@debooy.eu>
Re: Duplicate data even with primary keys enabled Samed YILDIRIM <samed@reddoc.net>
Re: Duplicate data even with primary keys enabled Tom Lane <tgl@sss.pgh.pa.us>
Re: Duplicate data even with primary keys enabled Teju Jakkidi vlogs <teja.jakkidi05@gmail.com>
Re: Duplicate data even with primary keys enabled Scott Ribe <scott_ribe@elevated-dev.com>
Re: Duplicate data even with primary keys enabled jwiencek3 <jwiencek3@comcast.net>
Re: Duplicate data even with primary keys enabled Scott Ribe <scott_ribe@elevated-dev.com>
Am 28.10.22 um 22:15 schrieb Teju Jakkidi vlogs:
Hello Jakobs,

I have provided the sample create table and inserts that we are observing. 

CREATE TABLE IF NOT EXISTS "TEST"
(
    "COL1" character varying(9) COLLATE pg_catalog."default" NOT NULL,
    "COL2" character varying(30) COLLATE pg_catalog."default" NOT NULL,
    "COL3" character varying(30) COLLATE pg_catalog."default" NOT NULL,
    "COL4" numeric(10,0) NOT NULL,
    "COL5" character varying(12) COLLATE pg_catalog."default" NOT NULL,
    "COL6" character varying(12) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT test_pk PRIMARY KEY ("COL1", "COL2", "COL3")
)

CREATE UNIQUE INDEX IF NOT EXISTS "TEST_UNIQUE"
    ON "TEST" USING btree
    ("COL1" COLLATE pg_catalog."default" ASC NULLS LAST, "COL2" COLLATE pg_catalog."default" ASC NULLS LAST, "COL3" COLLATE pg_catalog."default" ASC NULLS LAST);

CREATE INDEX IF NOT EXISTS "TEST_INDEX"
    ON "TEST" USING btree
    ("COL1" COLLATE pg_catalog."default" ASC NULLS LAST, "COL3" COLLATE pg_catalog."default" ASC NULLS LAST);

Also, the values that we are seeing is as below:

COL1COL2COL3COL4COL5COL6
13456765425ABC1234
13456765425ABC1234
29872897650FGT1234
36547786597JHL8790

We already defined COL1, COL2, COL3 as primary keys, but still as you see above in the table output, the first 2 rows has exactly same combination for those 3 rows.

Thanks,
Teja.


I just copied your CREATE TABLE statement (with all peculiarities like quoted identifiers):
hj=# CREATE TABLE IF NOT EXISTS "TEST"
hj-# (
hj(#     "COL1" character varying(9) COLLATE pg_catalog."default" NOT NULL,
hj(#     "COL2" character varying(30) COLLATE pg_catalog."default" NOT NULL,
hj(#     "COL3" character varying(30) COLLATE pg_catalog."default" NOT NULL,
hj(#     "COL4" numeric(10,0) NOT NULL,
hj(#     "COL5" character varying(12) COLLATE pg_catalog."default" NOT NULL,
hj(#     "COL6" character varying(12) COLLATE pg_catalog."default" NOT NULL,
hj(#     CONSTRAINT test_pk PRIMARY KEY ("COL1", "COL2", "COL3")
hj(# )
hj-# ;

CREATE TABLE

Trying to insert the same row twice results in an error:
hj=# insert into "TEST" values (1,3456, 76542, 5, 'ABC', '1234');
INSERT 0 1
hj=# insert into "TEST" values (1,3456, 76542, 5, 'ABC', '1234');
FEHLER:  doppelter Schlüsselwert verletzt Unique-Constraint »test_pk«
DETAIL:  Schlüssel »("COL1", "COL2", "COL3")=(1, 3456, 76542)« existiert bereits.

So you'll have to check what you are doing differently.


-- 
Holger Jakobs, Bergisch Gladbach, Tel. +49-178-9759012
В списке pgsql-admin по дате отправления
От: Marco DE BOOIJ
Дата:
От: Marco DE BOOIJ
Дата:
FAQ