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