プロが教えるわが家の防犯対策術!

現在当方、postgresql-8.2.11にてDBサーバを構築しております。
そろそろ、マシン自体も古くなってきたので載せ替えをしようと
試みているのですが、うまく行きません。。。

新しいマシンにはpostgresql-8.4.0をインストールしました。
旧サーバからpg_dumpallにて全データをダンプして新サーバへ
リストアしたのですが、serverlogに下記のログが出てきて、
pgadmin3の様な接続ソフトから接続できません。

WARNING: nonstandard use of \\ in a string literal at character 70
HINT: Use the escape string syntax for backslashes, e.g., E'\\'.
ERROR: column c.reltriggers does not exist at character 240
STATEMENT: SELECT c.oid, obj_description(c.oid), c.relhasoids as hasoids, n.nspname AS schemaname, c.relname AS tablename, pg_get_userbyid(c.relowner) AS tableowner, t.spcname AS "tablespace", c.relhasindex AS hasindexes, c.relhasrules AS hasrules, (c.reltriggers > 0) AS hastriggers, c.relacl, c.reltuples, ((select count(*) from pg_inherits where inhparent = c.oid) > 0) as inhtable FROM ((pg_class c LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) LEFT JOIN pg_tablespace t ON ((t.oid = c.reltablespace))) WHERE (c.relkind = 'r'::"char")

リストア後は正常にデータベースもできていますし、テーブルの内容も
問題なくリストアされているようでした。
ダンプされたファイルも秀丸にて確認してみましたが問題ないようでした。

どなたか何か情報をお持ちであれば教えてください。
よろしくお願いいたします。

A 回答 (1件)

ログに出ているのは pg_class テーブルの reltriggers カラムが無いというエラーですね。

reltriggers カラムは8.4から無くなったようです。(参考URL)
お使いの接続ソフトが、テーブル・カラムなどのメタ情報を取得しようとして失敗しているのでしょう。

8.4 に対応している接続ソフトを使えばよろしいかと。

参考URL:http://www.postgresql.jp/document/pg841doc/html/ …
    • good
    • 0
この回答へのお礼

早々のご返答ありがとうございます。

まさにその通りでございました。
接続ソフトを最新の物にした結果、正常に使えるようになりました。

ありがとうございました。

お礼日時:2009/12/08 10:57

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