Tom Lane wrote:
> Sribeiro <info@simetriastudio.com> writes:
> > Anyone has any idea what i need to do fix this issue?
>
> You don't have an up-to-date backup, eh?
>
> You might be able to fix this by doing a fresh initdb (targeting some
> other location for the data directory, of course, but being careful
> to use the exact same Postgres version) and then copying the
> global/pg_filenode.map file out of that data directory and into your
> broken one. This would only work if you've never done a VACUUM FULL on
> any of the shared catalogs in the existing data directory, so it's far
> from guaranteed to work; but it's worth a try.
It's relatively easy to identify the files corresponding to each
catalog, even when they have been mapped; just pg_filedump the files
until you find ones that match the expected number of attributes, and
disambiguate based on which attributes have HEAP_VARWIDTH and such.
Then you just need to cp the right files to the default names using the
default map created in the freshly initdb'd cluster.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services