Search Postgresql Archives

Re: root page 3 of index "pg_class_oid_index" has level 0, expected 1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Abhijit Gharami wrote:
> During major version upgrade from PostgreSQL v9.4 to v9.6 I facing following error:
> 
> Performing Consistency Checks
> -----------------------------
> Checking cluster versions                                   ok
> 
> connection to database failed: FATAL:  root page 3 of index "pg_class_oid_index" has level 0, expected 1
> 
> 
> could not connect to old postmaster started with the command:
> "/postgresql94/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/data/directory/postgresql" -o "-p 5432 -b  -c listen_addresses='' -c unix_socket_permissions=0700 -c
> unix_socket_directories='/home/postgresql_user'" start
> Failure, exiting
> 
> 
> Again, I was trying to take the pg_dumpall of the same database cluster(PostgreSQL v9.4) and it failed with error:
> pg_dump: [archiver (db)] connection to database "template1" failed: FATAL:  root page 3 of index "pg_class_oid_index" has level 0, expected 1
> pg_dumpall: pg_dump failed on database "template1", exiting
> 
> Please suggest how should I proceed with major version upgrade in this case.

You are experiencing catalog corruption.

Try stopping the cluster and starting it with

  postgres -P -D /path/to/data/dir

Then connect and run

  REINDEX TABLE pg_catalog.pg_class;

That should fix the corrupted index.

If you have data corruption, you shouldn't use pg_upgrade to upgrade.
pg_dumpall / psql is the way to go.

Yours,
Laurenz Albe
-- 
Cybertec | https://www.cybertec-postgresql.com






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux