Re: BUG #18324: Duplicate value when I insert values in PK column

Поиск
Список
Период
Сортировка
От Laurenz Albe
Тема Re: BUG #18324: Duplicate value when I insert values in PK column
Дата
Msg-id d7029174bff4de270155dc838504553b38f8e6c1.camel@cybertec.at
обсуждение исходный текст
Ответ на BUG #18324: Duplicate value when I insert values in PK column  (PG Bug reporting form <noreply@postgresql.org>)
Список pgsql-bugs
On Fri, 2024-02-02 at 13:05 +0000, PG Bug reporting form wrote:
> I have a table called mdt_prestation with the following column:
> colId integer NOT NULL GENERATED BY DEFAULT AS IDENTITY
>
> I have a timesheet app with only one query that INSERT values in this table
> (extract from the psql log):
> INSERT INTO myTable (Client, Employee)VALUES('1150','185') RETURNING colId
>
> I have about 35 users that uses this app and sometimes we have the following
> error:
> ERREUR:  la valeur d'une clé dupliquée rompt la contrainte unique «
> myTable_pkey» (error duplicate value key, unique constraint violation, )
>
> DETAIL:  La clé « (colid)=(1704236) » existe déjà  (key 1704236 already
> exist)
>
> Most of the time we don't have this issue. And the sequence is correct
> (sequence = max id value). I'm sure that nobody insert manuel id.
> So I believe that there is a concurrency issue in postgresql server with the
> sequence when we insert a value.

That is very unlikely.

I recommend that you use GENERATED ALWAYS AS IDENTITY, so that the problem
cannor happen any more.

Yours,
Laurenz Albe



В списке pgsql-bugs по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: BUG #18324: Duplicate value when I insert values in PK column
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Aw: BUG #18312: libpq: PQsetdbLogin() not thread-safe