[pgsql-jp: 36410] 8.1.0へのリストアに失敗
Yumiko Izumi
izumi-yumiko @ tokyo.scnet.co.jp
2005年 11月 16日 (水) 17:22:10 JST
いつもお世話になっております。IZUMIです。
先日はVACUUMの件で多数の回答ありがとうございました。
まだ試行錯誤中ですが、環境が手配できたので、バージョンアップ
を試そうとしています。
そこで、使用中のV7.3.8のデータベースをバックアップし、V8.1.0
にリストアしようとしたところ、以下エラーが出てしまいました。
なお、使用中のデータベースには、作成時にconversion_create.sql
を実行して、CONVERSIONをCREATEしています。
------------------------------------
test @ hostname 36: pg_restore -d testDB testDB1116.tar
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 5446; 0 16831 FUNCTION alt_to_mic (integer, integer, cstring, cstring, integer) senju
pg_restore: [archiver (db)] could not execute query: ERROR: could not find function "alt_to_mic" in file "/home/senju/psql/lib/cyrillic_and_mic.so"
Command was: CREATE FUNCTION alt_to_mic (integer, integer, cstring, cstring, integer) RETURNS void AS 'cyrillic_and_mic', 'alt_to_mic...
------------------------------------
cyrillic_and_mic.so の中に、alt_to_mic() が無いという
エラーです。
リリースノートを確認したところ、
------------------------------------
UNICODEはUTF8になりました。
ALTはWIN866になりました。
WINはWIN1251になりました。
TCVNはWIN1258になりました。
以前の名前もまだ使用できます。
------------------------------------
と書いてありましたが、FUNCTIONに互換性がないのでしょうか・・・。
現在のバックアップ&リストアの手順は以下です。
V7.3.8で
% pg_dump -Ft -b testDB > testDB1116.tar
V8.1.0で
% createdb -T template0 testDB
% pg_restore -d testDB testDB1116.tar
今のところ、回避策として考えたのは、
・V8.1.0でcreatedbしたtestDBにもconversion_create.sqlをあてる
・pg_restoreの-Lオプションを使ってエラーになるFUNCTIONを
取り除いてからリストア
です。
何かよい方法がありましたら教えてください。
以上よろしくお願いします。
pgsql-jp メーリングリストの案内