From: | Daniil Davydov <3danissimo(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Bug with concurrent CREATE OR REPLACE (?) |
Date: | 2025-06-26 15:08:25 |
Message-ID: | CAJDiXghv2JF5zbLyyybokWKM+-GYsTG+hw7xseLNgJOJwf0+8w@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
I found that this command sequence leads to an error. :
session 1:
begin;
create or replace function *some funcion*;
session 2:
begin;
create or replace function *same function as above*;
session 1:
commit;
session 2:
ERROR: duplicate key value violates unique constraint
"pg_proc_proname_args_nsp_index"
Error causes, because both transactions check catcache, decide that
function doesn't exist and then try to insert appropriate tuples into
pg_proc and its index (which has a unique constraint).
I found thread [1] in which Robert Haas said that this behaviour is
wrong, but nobody has enough time to fix it.
My question is, can we consider this behavior to be a mistake or a
normal occurrence?
[1] https://www.postgresql.org/message-id/flat/4B9EA2FD.8090902%40agliodbs.com
--
Best regards,
Daniil Davydov
From | Date | Subject | |
---|---|---|---|
Next Message | Matheus Alcantara | 2025-06-26 15:10:40 | Re: SCRAM pass-through authentication for postgres_fdw |
Previous Message | Fujii Masao | 2025-06-26 15:03:43 | Re: Extend COPY FROM with HEADER <integer> to skip multiple lines |