Обсуждение: Pg_dump and huge OID's

Поиск
Список
Период
Сортировка

Pg_dump and huge OID's

От
"Glen Parker"
Дата:
Somehow I've gotten OID's > 2147483647 in my database.  I have yet to
figure out how that could have happened, since I just did a restore a
few days ago and I'm not recording OID's in the dumps.  Any suggestions
how this might happen would be appreciated.

The real problem though is why I can't do a pg_dump now.  I get this
error from pg_dump:

getTables(): SELECT (for PRIMARY KEY) failed on table itemadj.
Explanation from backend: ERROR:  dtoi4: integer out of range

The indexes on this table have very large OID's.  They are valid as
OID's, but not as INT4's, so apparently pg_dump doesn't do a proper cast
when querying the pg_class table?

Any suggestions how to fix this or get a dump?  This is quickly getting
scarey, since I can't see a way to get a backup.  Bad bad bad.

Btw, this is postgres 7.1.3 (select version() says:)
PostgreSQL 7.1.3 on i686-pc-linux-gnu, compiled by GCC 2.96

Running on Redhat 7.2.

Thx in advance,

Glen Parker
glenebob@nwlink.com


Re: Pg_dump and huge OID's

От
Tom Lane
Дата:
"Glen Parker" <glenebob@nwlink.com> writes:
> getTables(): SELECT (for PRIMARY KEY) failed on table itemadj.
> Explanation from backend: ERROR:  dtoi4: integer out of range

Get yourself a 7.2 pg_dump; AFAIK we fixed all such problems in 7.2.
(And yes, it will dump a 7.1 server.)

            regards, tom lane