Search Postgresql Archives

Re: Issue with pg_dump due to Schema OID Error

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

 



On 12/19/24 01:43, arons wrote:
I forgot to attache the script.

In MyTestBugSchema01.baseProc() you meant to have:

select MyTestBugSchema.afunction( u.username )

instead of

select MyTestBugSchema2.afunction( u.username )

In other words there is a predefined MyTestBugSchema?


On Thu, Dec 19, 2024 at 10:41 AM Renzo Dani <renzo.dani@xxxxxxxxx <mailto:renzo.dani@xxxxxxxxx>> wrote:

    Hi,


    Recently, I encountered a problem during a database export using
    pg_dump.


    Here is the error message:


    pg_dump: last built-in OID is 16383

    pg_dump: reading extensions

    pg_dump: identifying extension members

    pg_dump: reading schemas

    pg_dump: reading user-defined tables

    pg_dump: reading user-defined functions

    pg_dump: error: schema with OID 41960442 does not exist


    To investigate the issue, I ran the following query:


    SELECT * FROM pg_proc WHERE pronamespace = 41960442;


    The result:


    oid;proname;pronamespace;proowner;prolang;procost;prorows;provariadic;prosupport;prokind;prosecdef;proleakproof;proisstrict;proretset;provolatile;proparallel;pronargs;pronargdefaults;prorettype;proargtypes;proallargtypes;proargmodes;proargnames;proargdefaults;protrftypes;prosrc;probin;prosqlbody;proconfig;proacl

    41966618;remapprotocoltypeids;41960442;19214494;13547;100;0;0;-;f;f;f;f;f;v;u;1;0;25;25;;;{pprotocoltypeids};;;


    I resolved the issue by removing the problematic record (admin
    privileges required):


    DELETE FROM pg_proc WHERE oid = 41966618;


    This situation seems inconsistent and likely should not occur under
    normal conditions.


    While I’m unsure exactly when this issue originated in our
    environment, I was able to reproduce it by performing concurrent
    modifications on the schema.


    To demonstrate, I wrote a bash script (test_bug.sh) that starts two
    threads running in parallel.

    Each thread drops the schema with CASCADE and recreates it using the
    SQL script search_bug.sql.


    To use the script, you’ll need to adapt two variables at the
    beginning of the script: PGPASSWORD and URL.


    Using this script, I reproduced the problem on PostgreSQL versions
    16.1 and 17.1.

    It typically takes less than a minute to trigger the issue.

    The script terminates automatically as soon as the problem is detected.


    Here are additional references that might be related to this issue:


    https://www.postgresql.org/message-id/flat/20110209003823.GA93840%40mr-paradox.net <https://www.postgresql.org/message-id/flat/20110209003823.GA93840%40mr-paradox.net>

    https://www.postgresql.org/message-id/flat/BB8AF37F-E3D9-4DE0-B398-AF89748704F5%40bandwidth.com <https://www.postgresql.org/message-id/flat/BB8AF37F-E3D9-4DE0-B398-AF89748704F5%40bandwidth.com>



    Let me know if you need additional information.


    Best regards

    Renzo


--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx






[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