Обсуждение: Duplicate key value violates unique constraint

Поиск
Список
Период
Сортировка

Duplicate key value violates unique constraint

От
"Nafees Sardar"
Дата:

Hi support,

 

I migrate my data from MS Sql server to postgreSQL database, now when I try to insert new row it gives me error “duplicate key value violates unique constraint”. For example I have a table which contains 100 rows of records when I go for inserting 101 row it give duplicate value constraint error. When I pass PK value manually its working, and one more thing auto increment is enabled for all tables .

 

Can you please let me know anything I am missing?  I will really appreciate it.

 

Thanks

Regards

Nafees Sardar

Re: Duplicate key value violates unique constraint

От
"David G. Johnston"
Дата:
On Monday, March 16, 2020, Nafees Sardar <nafees@epazz.net> wrote:

Hi support,

 

I migrate my data from MS Sql server to postgreSQL database, now when I try to insert new row it gives me error “duplicate key value violates unique constraint”. For example I have a table which contains 100 rows of records when I go for inserting 101 row it give duplicate value constraint error. When I pass PK value manually its working, and one more thing auto increment is enabled for all tables .

 

Can you please let me know anything I am missing?  I will really appreciate it.


ALTER SEQUENCE

David J. 

Re: Duplicate key value violates unique constraint

От
Tom Lane
Дата:
"Nafees Sardar" <nafees@epazz.net> writes:
> I migrate my data from MS Sql server to postgreSQL database, now when I try
> to insert new row it gives me error "duplicate key value violates unique
> constraint". For example I have a table which contains 100 rows of records
> when I go for inserting 101 row it give duplicate value constraint error.
> When I pass PK value manually its working, and one more thing auto increment
> is enabled for all tables . 

Sounds like you need to adjust the sequence counters underlying the
auto-increment columns so that their settings are higher than any
of the already-existing ID values.  Auto-increment isn't really a
native concept in Postgres, it's something you have to build from
a sequence object and a suitable default expression.  Getting the
sequence set correctly is an easy step to miss when migrating from
a different DBMS.

            regards, tom lane