web-dev-qa-db-ja.com

pg_restore中のエラー:テキスト検索辞書 "unaccent"は存在しません

サーバー間でデータを移動しようとしています。データベース構造全体を再作成し、同じユーザーが存在し、ターゲットデータベースのすべてのスキーマで使用するunaccent拡張が有効になっていることを確認しました。

実行しようとすると:

pg_restore -h %server_Host% -a -c --disable-triggers -d %db_name% -U %user_name% 2014-12-09.custom

次のエラーが発生します。

pg_restore: [archiver (db)] COPY failed for table "contracts":
ERROR:  text search dictionary "unaccent" does not exist

ここで何が欠けていますか?

3
jezzarax

愚かなハックがあり、アクセントのない関数は不変とマークされ、このアクセントのない関数を使用するインデックスがあったことがわかりました。インデックスを削除し、バックアップ後にインデックスを再作成することでうまくいきました。

ハック、人々を使用しないでください:)

2
jezzarax