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