dポイントプレゼントキャンペーン実施中!

こんばんは。
pgAdminIIIを最近使いはじめました。
テーブルAを作成し、その後、そのテーブルのバックアップをCOMPRESSで作成しました。
そのバックアップファイルをデータを削除したテーブルAにリストアしようとしたのですが、
SET check_function_bodies = false
というコマンドがエラーだと表示され、うまくリストアできませんでした。
何が間違っているのでしょうか?
ご回答よろしくお願い致します。
ちなみにデータの文字コードはUnicodeでPostgreSQL7.3.9を利用しています。

A 回答 (4件)

pgAdminIIIに付属のpg_dump と、postgresqlのバージョンの不整合により発生するのでしょう。



pgAdminIIIを使いたいのであれば、Postgresqlのバージョンをあげるしかないのでは?
(でも こんな発想は本末転倒ですが...)

COMPRESS にしなければ、バックアップファイルの編集で対応可能でしょうが、そんなことまでして、使用する意味がないような気がします。

この回答への補足

ご回答、ありがとうございます。
Postgresqlのバージョンをあげることになりそうですか・・・。
確かにCOMPRESSにしなければ、バックアップファイルを編集できますねー。それだとリストアもできるのですが、そこまでして使用する意味はなさそうですね・・・
例えば、pgAdminIIIを使わず、コマンドプロンプトなら、うまくリストアできる可能性はあるのでしょうか?
コマンドプロンプトでの操作はほとんどおこなったことがないので、これから勉強しなければなりませんが・・・
ご回答、よろしくお願い致します。

補足日時:2006/06/23 06:42
    • good
    • 0

pgAdminIII HPには以下の記述があります。


Requirements
PostgreSQL 7.4 or above (8.0 or above on Windows).

従って、無理では?

参考URL:http://www.pgadmin.org/download/source.php
    • good
    • 0
この回答へのお礼

そうですね。
ありがとうございます。
色々試してはみたのですが、無理でした。
ご丁寧に回答してくださってありがとうございました。

お礼日時:2006/06/24 08:57

postgresqlがインストールされているサーバにログインして、


シェルから pg_dump コマンドを実行すれば、バックアップ可能です。

http://www.postgresql.jp/document/pg734doc/refer …

あとは、どんな目的でpostgresqlを使用されているのかわかりませんが、postgresqlの最新版は8.1系 です。
7.3系と比べれば、性能、機能共に大きく改善されています。
postgresqlのバージョンアップも検討されたほうが良いかもしれません。

この回答への補足

ご回答、ありがとうございます。
コマンド実行でバックアップを行うことができました。
ありがとうございます。
postgresqlのバージョンアップは諸事情によりできないんです。
pgAdminIIIでバックアップを取る際、もしくはpostgresql7.3.4でcheck_function_bodiesの設定を変更することはできないでしょうか?
pgAdminIIIではバックアップを取る際に、自動で
SET check_function_bodies='false';
が書き込まれているのでこれを何とかしたいのですが、やはりpostgresqlのバージョンアップでしか無理ですか?
ご回答よろしくお願いします。

補足日時:2006/06/23 13:39
    • good
    • 0

もしかしたら check_function_bodies が お使いのPostgresql にはない ?



参考URL:http://ml.postgresql.jp/pipermail/pgsql-jp/2004- …

この回答への補足

nino2さん、ご回答ありがとうございます。
参考URLを読ませて頂いたのですが、そこに書かれているように
check_function_bodieなんてありません
という表示がでてしまいます。
その場合、
SET check_function_bodies = false;
の記述を削除すればよいのでしょうか?
ただ、バックアップをとったファイルを開いてみますと、文字化けをしていて、どの部分が
SET check_function_bodies = false;
に当たるのかわからないんです。エンコードを行ったのですが、どの文字種でも文字化けをしてしまいます。バイナリデータだから、当然なのかもしれませんが・・・
よろしくお願いいたします。

補足日時:2006/06/22 17:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す