Thread: pg_dump: schema with OID 559701082 does not exist

pg_dump: schema with OID 559701082 does not exist

From
Dirk Lutzebäck
Date:
Hi,

I get the following error when I call:

# pg_dump  db
pg_dump: schema with OID 559701082 does not exist

this happens with 8.0.1 on RHEL 3.0. I cannot dump the database neither
with --schema-only or --data-only.

What can I do?

Thanks for help,

Dirk


Re: pg_dump: schema with OID 559701082 does not exist

From
Tom Lane
Date:
Dirk Lutzebäck <lutzeb@aeccom.com> writes:
> I get the following error when I call:
> # pg_dump  db
> pg_dump: schema with OID 559701082 does not exist

I suspect a corrupted catalog entry.  Look through your system catalogs
for an entry referring to namespace 559701082 --- you want to look in
pg_class.relnamespace, pg_proc.pronamespace, etc.
        regards, tom lane


Re: pg_dump: schema with OID 559701082 does not exist

From
Tom Lane
Date:
Dirk Lutzebäck <lutzeb@aeccom.com> writes:
> The problem I'm facing is the following:

> cs1=# select relname from pg_class where relname like 'bm%';
>                relname
> -----------------------------------
>   bm_pagehits_1133271374_047421_941
>   bm_pagehits_1133271378_920896_129
>   bm_pagehits_1133282272_744243_536
>   bm_pagehits_1133284780_743839_884
> (4 rows)

> cs1=# drop table bm_pagehits_1133271374_047421_941;
> ERROR:  table "bm_pagehits_1133271374_047421_941" does not exist

Uh, are you sure these are in a schema that's in your search path?
        regards, tom lane


Re: pg_dump: schema with OID 559701082 does not exist

From
Dirk Lutzebäck
Date:
Yes, I think so. What search path do you mean? These tables were all
temporary tables.

Dirk


Tom Lane wrote:
> Dirk Lutzebäck <lutzeb@aeccom.com> writes:
>
>>The problem I'm facing is the following:
>
>
>>cs1=# select relname from pg_class where relname like 'bm%';
>>               relname
>>-----------------------------------
>>  bm_pagehits_1133271374_047421_941
>>  bm_pagehits_1133271378_920896_129
>>  bm_pagehits_1133282272_744243_536
>>  bm_pagehits_1133284780_743839_884
>>(4 rows)
>
>
>>cs1=# drop table bm_pagehits_1133271374_047421_941;
>>ERROR:  table "bm_pagehits_1133271374_047421_941" does not exist
>
>
> Uh, are you sure these are in a schema that's in your search path?
>
>             regards, tom lane



Re: pg_dump: schema with OID 559701082 does not exist

From
Tom Lane
Date:
Dirk Lutzebäck <lutzeb@aeccom.com> writes:
> Yes, I think so. What search path do you mean? These tables were all
> temporary tables.

In that case they're most likely *not* in your search path, unless your
session happens to have seized on the same pg_temp_nn schema they are
in (in which case it'd have deleted them, so I guess it didn't).

I'd suggest joining to pg_namespace to determine which schema(s) they
are in, and then deleting with the explicit schema, ie, DROP TABLE
pg_temp_nnn.bm_pagehits_... Note you'll probably need to be superuser
to do this.

Or you could just ignore them, because they'll get zapped automatically
next time the containing pg_temp schema gets reused.
        regards, tom lane


Re: pg_dump: schema with OID 559701082 does not exist

From
Dirk Lutzebäck
Date:
I have found and deleted an entry with pg_class.relnamespace=559701082
but nowhere else. I still cannot dump the schema. Is there something
like a system catalog integrity checker?

The problem I'm facing is the following:

cs1=# select relname from pg_class where relname like 'bm%';              relname
----------------------------------- bm_pagehits_1133271374_047421_941 bm_pagehits_1133271378_920896_129
bm_pagehits_1133282272_744243_536bm_pagehits_1133284780_743839_884 
(4 rows)

cs1=# drop table bm_pagehits_1133271374_047421_941;
ERROR:  table "bm_pagehits_1133271374_047421_941" does not exist
cs1=# drop table bm_pagehits_1133271378_920896_129;
ERROR:  table "bm_pagehits_1133271378_920896_129" does not exist
cs1=# drop table bm_pagehits_1133282272_744243_536;
ERROR:  table "bm_pagehits_1133282272_744243_536" does not exist
cs1=# drop table bm_pagehits_1133284780_743839_884;
ERROR:  table "bm_pagehits_1133284780_743839_884" does not exist





Tom Lane wrote:
> Dirk Lutzebäck <lutzeb@aeccom.com> writes:
>
>>I get the following error when I call:
>># pg_dump  db
>>pg_dump: schema with OID 559701082 does not exist
>
>
> I suspect a corrupted catalog entry.  Look through your system catalogs
> for an entry referring to namespace 559701082 --- you want to look in
> pg_class.relnamespace, pg_proc.pronamespace, etc.
>
>             regards, tom lane



Re: pg_dump: schema with OID 559701082 does not exist

From
Dirk Lutzebäck
Date:
Hi Tom,<br /><br /> I have now deleted every temp table I know from pg_temp_nnn using your approach but still can't
dumpthe schema:<br /><br /> pg_dump: schema with OID 559701082 does not exist<br /><br /> I could'nt find any reference
to 559701082 in pg_class, pg_namespace or pg_proc.<br /><br /> Regards,<br /><br /> Dirk<br /><br /> Tom Lane wrote:
<blockquotecite="mid9989.1133298436@sss.pgh.pa.us" type="cite"><pre wrap="">Dirk Lutzebäck <a
class="moz-txt-link-rfc2396E"href="mailto:lutzeb@aeccom.com"><lutzeb@aeccom.com></a> writes: </pre><blockquote
type="cite"><prewrap="">Yes, I think so. What search path do you mean? These tables were all  
temporary tables.   </pre></blockquote><pre wrap="">
In that case they're most likely *not* in your search path, unless your
session happens to have seized on the same pg_temp_nn schema they are
in (in which case it'd have deleted them, so I guess it didn't).

I'd suggest joining to pg_namespace to determine which schema(s) they
are in, and then deleting with the explicit schema, ie, DROP TABLE
pg_temp_nnn.bm_pagehits_... Note you'll probably need to be superuser
to do this.

Or you could just ignore them, because they'll get zapped automatically
next time the containing pg_temp schema gets reused.
        regards, tom lane </pre></blockquote><br /><div class="moz-signature">-- <br /><small><i>This email and any
filestransmitted with it are confidential and intended solely for the use of the individual or entity to whom they are
addressed.If you are not the intended recipient, you should not copy it, re-transmit it, use it or disclose its
contents,but should return it to the sender immediately and delete your copy from your system. Thank you for your
cooperation.</i></small><p><b>DirkLutzebäck</b> <a class="moz-txt-link-rfc2396E"
href="mailto:lutzeb@aeccom.com"><lutzeb@aeccom.com></a>Tel +49.30.5362.1635 Fax .1638<br /> CTO <a
href="http://www.aeccom.com">AEC/communicationsGmbH</a>, Berlin, Germany </div> 

Re: pg_dump: schema with OID 559701082 does not exist

From
Tom Lane
Date:
Dirk Lutzebäck <lutzeb@aeccom.com> writes:
> I have now deleted every temp table I know from pg_temp_nnn using your
> approach but still can't dump the schema:
> pg_dump: schema with OID 559701082 does not exist
> I could'nt find any reference to  559701082 in pg_class, pg_namespace or
> pg_proc.

Better keep looking then.  See
http://www.postgresql.org/docs/8.1/static/catalogs.html
(adjust link for your PG version) to find out which catalogs reference
pg_namespace.
        regards, tom lane


Re: pg_dump: schema with OID 559701082 does not exist

From
Dirk Lutzebäck
Date:
Yes, I finally found the reference in pg_type.

Thanks for your help!

Regards,

Dirk


Tom Lane wrote:
> Dirk Lutzebäck <lutzeb@aeccom.com> writes:
>
>>I have now deleted every temp table I know from pg_temp_nnn using your
>>approach but still can't dump the schema:
>>pg_dump: schema with OID 559701082 does not exist
>>I could'nt find any reference to  559701082 in pg_class, pg_namespace or
>>pg_proc.
>
>
> Better keep looking then.  See
> http://www.postgresql.org/docs/8.1/static/catalogs.html
> (adjust link for your PG version) to find out which catalogs reference
> pg_namespace.
>
>             regards, tom lane