Nigel Gilbert <N.Gilbert@soc.surrey.ac.uk> writes:
>> I have inherited a database apparently set up using postgres7.0.2.
>> I now want to dump the database in preparation for tidying up and
>> upgrading to the current version of postgresql. However, pg_dumpall
>> gives:
>>
>> pg_dumpall >db.out
>> getInherits(): SELECT failed. Explanation from backend: 'ERROR:
>> Attribute 'inhrel' not found
>> '.
>>
>> A previous message in this list proposed that this error was
>> generated when a version 6 database is dumped using version 7
>> software. I think this is unlikely to be the explanation here (for
>> example, psql 7.0.2 reads the database without complaint), but it is
>> a possibility.
I can assure you that that is a pg_dump-versus-backend version mismatch
problem: pg_dump is expecting a different layout of system catalog
tables than what it's actually finding.
I think that particular failure is the symptom of pre-7.0 pg_dump used
on a 7.0 database, but don't recall for sure. In any case, check which
instance of pg_dump you're invoking.
regards, tom lane
PS: yes, we have wised up since then --- recent pg_dump releases check
"select version()" before doing much else...