Re: Unable to dump database using pg_dump

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: adear(at)usnx(dot)net
Cc: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>, pgsql-general(at)postgresql(dot)org
Subject: Re: Unable to dump database using pg_dump
Date: 2008-06-11 20:33:01
Message-ID: 11456.1213216381@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Adam Dear <adear(at)usnx(dot)net> writes:
> pg_dump: query to obtain list of schemas failed: ERROR: more than one
> row returned by a subquery used as an expression

> The pg_dump command is from version 7.4.11. This is the version of
> postgres I am running on my old server.

Just FYI, when doing a version upgrade it's considered better practice
to dump with the newer version's pg_dump, if possible. Sometimes the
newer pg_dump knows things that will smooth the migration. However,
that's not related to your immediate problem.

A look at the pg_dump source code shows that the subquery it's
complaining about is trying to fetch the name of each view's owner.
Apparently you've got multiple rows in pg_shadow with the same usesysid
--- or perhaps just one row but the index on usesysid is corrupt and is
returning it more than once. Try
select ctid, usename, usesysid from pg_shadow;
and see if you see any duplicate usesysid's. If so, try removing the
extra copies (use WHERE ctid = '...' if there isn't any other difference
between the rows). If you see no dups in a query like this, then the
index is at fault --- try reindexing.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adam Dear 2008-06-11 20:51:11 Re: Unable to dump database using pg_dump
Previous Message Tom Lane 2008-06-11 20:20:17 Re: Missing chunk number on a view?