I am getting error while trying to upgrade postgres from 9.5 to 9.6 using pg_upgrdae utility.
pg_restore: creating OPERATOR CLASS "pg_catalog.citext_ops"
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 1864; 2616 16631 OPERATOR CLASS citext_ops postgres
pg_restore: [archiver (db)] could not execute query: ERROR: operator family "pg_catalog.citext_ops" does not exist for access method "btree"
Command was: CREATE OPERATOR CLASS "pg_catalog"."citext_ops" DEFAULT FOR TYPE "citext" USING "btree" FAMILY "pg_catalog"."citext_ops"..
Please could any one help me on this.
It seems to be an operator class created on 9.5 which is not present on 9.6.
Try to create the operator class on 9.6 as well same as 9.5 and then proceed with the upgrade.
Shouldn't the new DB (ie. 9.6) be empty (initialized beofre upgrade)? If not on which DB do I need to create Operator Family.
To avoid this error, first you need to drop the operator class from postgres 9.5 cluster, then perform the upgrade activity between 9.5 to 9.6, once the upgrade is successfull, create a operator class on newly upgraded cluster 9.6.
Hope this helps you.
I have upgraded using dump and restore method. Will test your suggesstions on any test severs and try to upgrade it.
Thank you for the update.
Hope your issue has been resloved with dump and restore method, however we will waif for your feedback with upgrade method.