[pgsql-jp: 36483] Re: Postgresのエラーメッセージについて

森山 和宏 kmoriyama @ htf.highway.ne.jp
2005年 12月 2日 (金) 18:02:15 JST


森山と申します

2の件ですが、おそらく7.1.3のDBはマルチバイト形式でDBが作成されておらず、
そのため、'pg_client_encodingの命令が使えないのだと思われます。

で、7.1.3のデータを7.4.9のDBにリストアする方法ですが、7.4.9のDBにデータベース 

を作成する時に、DBに使うエンコードをSQL_ASCII形式で作成し、リストアしてみたら 

いかがでしょうか。

createdb -p5432 -E SQL_ASCII DB名

私はこの方法で7.3系のDBに移植しました。
おそらく7.4系でも同様にリストアできると思います。

ただ、うる覚えですが、7.1系から7.3系に移す時、フィールドの型に若干の変更
が入っていた気がします。
そこいら辺はプログラムで吸収する必要があるかも知れません。


> (環境)
> ・PostgreSQL 7.1.3 起動port 5433
> ・PostgreSQL 7.4.9 起動port 5432
> ・PHP 4.3.2
>
> (前置)
> 今までは、PostgreSQL 7.4.9のみを起動して1年以上正常に
> 動作をしていましたが、
> 先日、他のサーバで稼動していたPostgreSQL 7.1.3のデータをこのサーバに移行
> しました。
> 最初は元のDatabaseもこの7.4.9に移行しようとしたのですが、元のデータが
> 一部文字化けしていた為、リストア時に途中でストップしてしまいました。
>
> 色々と試したのですが、同バージョン(7.1.3)へのリストアにしか成功しません
> でした・・・文字化けしたデータはそのままDBに入っています。
> 7.1から7.2へのリストアもエラーでストップしてしまいました。
>
> 上記理由の為、同一サーバで異なるバージョンのPostgresを別ポートで稼動させ
> ております。
>
>
> (本題)
> 7.1.3を起動してプログラム(PHP)からアクセスする毎に下記のエラーが
> 出てしまいます。アクセス頻度が多い為大量のメッセージが
> 表示されてしまいます。
> また、このエラーメッセージと関係があるかは調査しきれていませんが、
> DBを移行してから、1週間で2回ほどサーバがダウンしてしまいました。
> ------------------------------------------------------------------------------
> Unsupported frontend protocol.
> ERROR:  Function 'pg_client_encoding()' does not exist
>         Unable to identify a function that satisfies the given argument 
> types
>         You may need to add explicit typecasts
> ------------------------------------------------------------------------------
>
> 「Unsupported frontend protocol」については、Postgres 7.3 未満と
> Postgres 7.4 以降のバージョンで、通信プロトコルのバージョンがかわって
> おり、通信プロトコルのバージョンが異なっている場合に、出力される様です。
>
> 下記参照
> http://www.asahi-net.or.jp/~aa4t-nngk/pgsql4.html#unsupportedfep
>
> 7.4.9を7.3.xにバージョンダウンすれば、エラーは無くなる様な気がしますが、
> 現在のバージョンのままでこのエラーを止める事は出来るのでしょうか。
>
>
> 二つ目の「ERROR:  Function 〜」については、クライアントの
> エンコーディングに問題がありそうなのですが、あまり情報がなく困っています。
> 何か情報をお持ちの方がいましたらアドバイス頂けますでしょうか。
>
>
> また、文字化けのエラーデータは無視して7.1から7.4へリストアする方法は
> あるのでしょうか。
>
> #INSERT形式でpg_dumpを行い、エラー行を手動で削除しようとしましたが
> ちょっと現実的でないので、やめました。。。
>
> 長文で失礼致しました。
> 宜しくお願いいたします。
>
>
>
>
> 





pgsql-jp メーリングリストの案内