Re: Bug with concurrent CREATE OR REPLACE (?)

From: Jim Jones <jim(dot)jones(at)uni-muenster(dot)de>
To: Daniil Davydov <3danissimo(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: Yugo NAGATA <nagata(at)sraoss(dot)co(dot)jp>
Subject: Re: Bug with concurrent CREATE OR REPLACE (?)
Date: 2025-06-26 15:27:37
Message-ID: 22e30eaa-597e-48a8-81a9-77522c3f7b62@uni-muenster.de
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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(dot)00a62760966a821d484ea904(at)sraoss(dot)co(dot)jp

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2025-06-26 16:05:47 Re: Documentation fix on pgbench \aset command
Previous Message Aleksander Alekseev 2025-06-26 15:16:10 [PATCH] Add tests for binaryheap.c