サーバー間でデータを移動しようとしています。データベース構造全体を再作成し、同じユーザーが存在し、ターゲットデータベースのすべてのスキーマで使用する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
ここで何が欠けていますか?
愚かなハックがあり、アクセントのない関数は不変とマークされ、このアクセントのない関数を使用するインデックスがあったことがわかりました。インデックスを削除し、バックアップ後にインデックスを再作成することでうまくいきました。
ハック、人々を使用しないでください:)