Re: Schema with OID 0 does not exist in pg_dump

From: Lukasz Brodziak <lukasz(dot)brodziak(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Schema with OID 0 does not exist in pg_dump
Date: 2011-09-05 11:06:33
Message-ID: CAGWYGjVRmc_=TqnE-p9e1sHXOZK3F15Wtk-+=J5wa4632er_6A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Ok, I've found the rows theyh were placed in pg_operator table. After
deletion I get the following error in pg_dump:
pg_dump: Error message from server: ERROR: operator is not unique: smallint
<> integer
LINE 1: ...d = relowner) AS rolname, relchecks, (reltriggers <> 0) AS r...
^
HINT: Could not choose a best candidate operator. You may need to add
explicit type casts.
pg_dump: The command was: SELECT c.tableoid, c.oid, relname, relacl,
relkind, relnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid =
relowner) AS rolname, relchecks, (reltriggers <> 0) AS relhastriggers,
relhasindex, relhasrules, relhasoids, relfrozenxid, NULL AS reloftype,
d.refobjid AS owning_tab, d.refobjsubid AS owning_col, (SELECT spcname FROM
pg_tablespace t WHERE t.oid = c.reltablespace) AS reltablespace,
array_to_string(c.reloptions, ', ') AS reloptions, NULL AS toast_reloptions
FROM pg_class c LEFT JOIN pg_depend d ON (c.relkind = 'S' AND d.classid =
c.tableoid AND d.objid = c.oid AND d.objsubid = 0 AND d.refclassid =
c.tableoid AND d.deptype = 'a') WHERE relkind in ('r', 'S', 'v', 'c') ORDER
BY c.oid
pg_dump: *** aborted because of error

2011/9/1 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>

> Lukasz Brodziak <lukasz(dot)brodziak(at)gmail(dot)com> writes:
> > When I try to make a dump of a database I get the error pg_dump: schema
> with
> > OID 0 does not exist. How can I find the schema with this OID?
>
> Well, you can't, because it doesn't exist ;-). What you need to find
> out is what is trying to reference it. I'd start by looking for a zero
> in one of the catalog columns that reference pg_namespace.oid, such as
> pg_class.relnamespace.
>
> regards, tom lane
>

--
Łukasz Brodziak
"Do you bury me when I'm gone
Do you teach me while I'm here
Just as soon I belong
Then it's time I disappear"

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2011-09-05 16:46:01 Re: Schema with OID 0 does not exist in pg_dump
Previous Message Scott Marlowe 2011-09-03 04:02:35 Re: plsql gets "out of memory"