Thread: Bug with concurrent CREATE OR REPLACE (?)

Bug with concurrent CREATE OR REPLACE (?)

From
Daniil Davydov
Date:
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



Re: Bug with concurrent CREATE OR REPLACE (?)

From
Jim Jones
Date:
Hi

On 26.06.25 17:08, Daniil Davydov wrote:
> 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

Not entirely sure it's related (different error message), but a similar
problem was mentioned in this thread[1]

Best, Jim

1 -
https://www.postgresql.org/message-id/flat/20250331200057.00a62760966a821d484ea904@sraoss.co.jp