Search Postgresql Archives

Re: Invoking SQL function while doing CREATE OR REPLACE on it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Erik Wienhold <ewie@xxxxxxxxx> writes:
> On 03/05/2023 20:17 CEST Nagendra Mahesh (namahesh) <namahesh@xxxxxxxxx> wrote:
>> I have a Postgres 14.4 cluster (AWS Aurora) to which I connect from my
>> application using JDBC.

Aurora uses, I believe, some other storage engine entirely than
community Postgres has.

>> Only in this tiny time window, few transactions fail with the following error:
>> ERROR: function bar(arg1 => text, arg2 => text) does not exist
>> Hint: No function matches the given name and argument types. You might need to add explicit type casts.

> There's also a race condition bug in v14.4 that may be relevant.  It got fixed
> in v14.5.  See "Fix race condition when checking transaction visibility" in
> https://www.postgresql.org/docs/14/release-14-5.html.

That race could easily explain this symptom: during the update, there
are two versions of the function's pg_proc row, and it could be that
both of them appear "dead" to an onlooker transaction if one of them
is inspected during the race window.  Then the onlooker would find
no live version of the row and report that it doesn't exist.

But having said that, it's not clear to me whether Aurora's storage
engine shares this bug with community PG, or you're seeing some
independent bug of theirs that happens to have a similar symptom.
It's even less clear whether AWS would have applied the fix yet if it
is a shared bug.  You really need to discuss this with AWS support.

			regards, tom lane






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux