Postgresのエラー一覧と説明がある
書籍または、サイトをご存知の方が
居ませんでしょうか?

Warning: Unable to connect to PostgresSQL server: FATAL 1: Index
pg_trigger_tgrelid_index is not a btree in phpDB.lib on line 50

など、知りたいです
よろしくお願いします

A 回答 (1件)

なかなかレスがつかないようなので、ご存知かと思いますがPostgreSQLのユーザ会で管理されているマニュアルなどを参照されてはいかがでしょうか?



参考URL:http://www.jp.postgresql.org/
    • good
    • 0

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

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

このQ&Aと関連する良く見られている質問

Qpg_dumpでデータの引越し

こんにちは。postgreSQL初心者です。
古いサーバからpostgreSQLのデータを pg_dumpもしくは、pg_dumpallで取り出し、新しいサーバに入れようとしてるのですが、以下のようなエラーが出てデータが入ってくれません。
ERROR: invalid byte sequence for encoding "UTF8": 0x8a
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".

文字コードの問題だと思うのですが、バージョンの違いや基本的な設定も関係あるのでしょうか?
環境
旧サーバ:Red hat Linux 9, postgreSQL 8.0
移転先サーバ:Fedora Core 6, postgreSQL 8.1

実行コマンド
ダンプ
pg_dump -d DB_NAME > FILE_NAME
※ファイルの中身はちゃんと出力されています。

リストア(?というのでしょうか?)
方法1: \i FILE_NAME > DB_NAME
方法2:cat FILE_NAME  | psql DB_NAME
両方ともエラーがでて、テーブルはできていても一部の中身が入りません。
行き詰まってしまっています。どうか宜しくお願いします。

また、現在設定されている文字コードを調べる方法や、お勧めの参考ホームページがございましたら教えてください。

こんにちは。postgreSQL初心者です。
古いサーバからpostgreSQLのデータを pg_dumpもしくは、pg_dumpallで取り出し、新しいサーバに入れようとしてるのですが、以下のようなエラーが出てデータが入ってくれません。
ERROR: invalid byte sequence for encoding "UTF8": 0x8a
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".

文字コードの問題だと思うのですが、バージョンの違いや基本的な設定も...続きを読む

Aベストアンサー

 そのダンプがEUC-JPなんではないのかな。(ダンプを取ったときクライアントエンコーディングがEUC-JPになっていた)
 で、入れなおそうとしているFC6のデフォルトエンコーディングは多分UTF-8なのだろうからダンプをUTF-8として(クライアントエンコーディングをUTF-8として)読もうとして失敗しているのではないでしょーか。
 そのダンプを一旦nkfでUTF-8に直してしまうか、psqlのクライアントエンコーディングをEUC-JPに変更して入れてみたらどうでしょ。
 現在のDB(PostgreSQL内の全DB)のエンコーディングを調べるにはpsqlで入って\lとすれば良い、が、サーバーエンコーディングはあまり関係はないと思うよ。クライアントエンコーディングを調べるには同じくpsqlで\encodingだ。

Qtcpip_socketの設定をするとpostgres起動時にエラーになる。

開発によるテストで外部からtcp/ip接続を行いたいので、
tcpip_socket = true
という項目をpostgresql.confに追加してみましたが、
postgres起動時に以下のようなエラーにり起動できません。

起動時のコマンド:
pg_ctl -D /usr/local/pgsql/data start -w -o "-S -i"

エラー:
FATAL: unrecognized configuration parameter "tcpip_socket"

postmaster (PostgreSQL) 8.1.9
何か原因分かりますでしょうか。

Aベストアンサー

ググッただけですが、
PostgreSQL 8.0 で tcpip_socket パラメータは
listen_addresses に置き換えられています。

参考URL:http://www.postgresql.jp/document/pg800doc/html/release.html#RELEASE-8-0

QWindows版 pg_dumpの結果をログ取得

お世話になっております。

Windows版のPostgreSQL8.1を使用しています。
Windowsのバッチファイルで毎週自動実行で
pg_dumpによるバックアップを取得しようと思っています。
バックアップは正常に取得できるのですが、
どうしてもログファイルが出力できません。
手動でバッチを動かすと、プロンプトには表示が出ます。
『pg_dump: テーブル×××の内容をダンプしています』
のように。それをどうやったらファイルに残せるかを知りたいです。

実行しているコマンドは、

pg_dump.exe -f "DBバックアップファイル" -i -v -h ホスト名 -p ポート -U "ユーザ名" -F c "DB名">>"ログファイル名"

としています。

以上です。宜しくおねがいします。

Aベストアンサー

画面に出てファイルに残らないなら標準出力じゃなくエラー出力なんでしょう。

コマンド >> ログファイル 2>&1

QPostgres:LinuxからWinへのDB移行

LinuxのPostgres7.2からWindowsのPostgres8.3に
DB移行を使用としています。DBは移行後もEUC_JPです。

【行った手順】
Linux
・pg_dump -F p DB > test.sql 
FTP
・FTPクライアントソフトで、ファイルをWindowsマシンに転送
Win
・createdb -U postgres -h localhost -E EUC_JP DB
・psql -U postgres -h localhost DB
・windb=# \i C:/test.sql

LinuxからDumpし、Winのコマンドプロンプトでtest.sqlを実行すると
下記のエラーが発生します。

invaild byte sequence for eoncoding "EUC_JP":0x8de5"

元のファイルも、移行先のDBもEUC_JPなのに、どうしてこのような
エラーが発生するのでしょうか?
どなたかお知恵をお貸し下さい。

Aベストアンサー

日本語特有の問題なので、確信はもてませんが、
invaild byte sequence for eoncoding "EUC_JP":0x8de5"
はサーバが読み込んだ際、0x8de5に対する定義が書き込まれたものと違うというメッセージだと思われます。
postgresのバージョンを同じにして試されてはどうでしょう?

QPostgresSQLの条件分岐

初めて質問をします。よろしくお願いします。
環境はLinaxです。
テキストファイルにDROP TABLEとCREATE TABLEの命令を書いておき、
それをpsql \i test.txt
で読み込み、テーブルを作成したいのですが、
下記のテキストの内容だと、テーブルが存在しない場合、エラーが発生します。

テーブルが存在すれば、DROPしてCREATE、
テーブルが存在しなければ、CREATEのみ

という動作をさせたいのですが、どのようにしたら良いでしょうか?

よろしくお願い致します。

テキストファイルtest.txt
---------------------
DROP TABLE testID;
CREATE TABLE testID
(
id TEXT,
name TEXT,
);
---------------------

Aベストアンサー

質問の真意を理解せず回答してしまいました。ORCA_Hさん、すいません。

ツールはシェルで作成するのでしょうか?
以下の方法でテーブル有無は調べることは可能ですので、
シェル内でDROPするかどうか制御してはどうでしょうか。
・pg_classテーブルのrelnameカラムが"test"のレコードがあるか
・\dでテーブルtestが表示されるか

単純にメッセージ(エラー/正常問わず)出さないというのであれば
psql -f test.txt > /dev/null 2>&1
ということになりますが...一番簡単ですが乱暴ですね...


このカテゴリの人気Q&Aランキング

おすすめ情報