Re: BUG #14181: pg_upgrade: operator family "btree_hstore_ops" does not exist
От | Tom Lane |
---|---|
Тема | Re: BUG #14181: pg_upgrade: operator family "btree_hstore_ops" does not exist |
Дата | |
Msg-id | 17028.1465338423@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | BUG #14181: pg_upgrade: operator family "btree_hstore_ops" does not exist (worden.eric@gmail.com) |
Список | pgsql-bugs |
worden.eric@gmail.com writes: > I'm attempting to upgrade from 9.4.8. hstore installed version on the 9.4 > cluster is 1.3. It also failed with version 1.2. > pg_upgrade is exiting with failure during the step "Restoring database > schemas in the new cluster". Several database schemas are restored > successfully, then one fails. The pg_restore log indicated by the pg_upgrade > output ends with: > pg_restore: [archiver (db)] could not execute query: ERROR: operator family > "btree_hstore_ops" does not exist for access method "btree" > Command was: CREATE OPERATOR CLASS "btree_hstore_ops" > DEFAULT FOR TYPE "hstore" USING "btree" FAMILY "btree_hstore_ops" AS > OPERAT... Hmm. Is there, by any chance, a CREATE OPERATOR FAMILY "btree_hstore_ops" command somewhere later in the dump? Also, if you do \dx+ hstore in the problematic 9.4 database, do you see lines like operator family btree_hstore_ops for access method btree operator family gin_hstore_ops for access method gin operator family gist_hstore_ops for access method gist operator family hash_hstore_ops for access method hash ? I'm suspicious that there may only be operator classes, not operator families, linked to the extension. If you don't see them, then I'm betting that you previously pg_upgraded this same database from 9.3 or before, and fell victim to a bug we recently fixed that caused pg_upgrade to drop such operator families from their extensions. You could fix that with manual ALTER EXTENSION ADD OPERATOR FAMILY commands in affected database(s). After that, pg_upgrade'ing should work. > The documentation for CREATE OPERATOR CLASS says that the operator family > will be created if it does not already exist, contrary to what the error > message says here. Not if there's an explicit FAMILY clause; that's supposed to refer to a pre-existing family. regards, tom lane
В списке pgsql-bugs по дате отправления: