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

砂田 hoge @ mic9.co.jp
2005年 12月 5日 (月) 16:26:01 JST


砂田です。

報告遅くなりすいません。
森山様ご返信ありがとうございます。


> createdb -p5432 -E SQL_ASCII DB名

にてDBを作成してからリカバリしたのですが、
文字化けしているデータのあるテーブルは、
データがインサートされませんでした。



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

マルチバイトを有効にしてコンフィグし直し、DBを作成してみたのですが、
相変わらず同様のエラーが表示されてしまっています。


こちらでも色々と調べてみます。
何かアドバイスがありましたら宜しくお願いいたします。




On Fri, 2 Dec 2005 18:02:15 +0900
森山 和宏 <kmoriyama @ htf.highway.ne.jp> wrote:

> 森山と申します
> 
> 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を行い、エラー行を手動で削除しようとしましたが
> > ちょっと現実的でないので、やめました。。。
> >
> > 長文で失礼致しました。
> > 宜しくお願いいたします。
> >
> >
> >
> >
> > 
> 
> 
> 

======================================
 有限会社 MIC.9
  〒150-0002 東京都渋谷区渋谷2-10-14
  青山アルファビル4F
  藤平 直樹
  TEL:03-5464-6227  FAX:03-5464-6228
  E-mail:fujihira @ mic9.co.jp
======================================





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