[pgsql-jp: 26111] Re: \i によるインポートで文字列リテラルのエスケープが正常に解釈されない

Tatsuo Ishii t-ishii @ sra.co.jp
2002年 5月 24日 (金) 10:42:50 JST


石井です.

> > これを \i で読み込むと、上の3つの INSERT 文は正常に実行されたのですが、
> > 今度は最後の INSERT 文でエラーになり、以下のようなメッセージが出ました。
> > 
> > psql:test.sql:8: invalid command \
> > psql:test.sql:9: ERROR:  Unterminated quoted string

最初のエラーはバックエンドではなくて,psqlが出力してますね.おそらくこ
れが引金になってその次の(バックエンドの)エラーが出ているのでしょう.
まずはpsqlのバグかバックエンドのバグか切り分けるために,psqlではなくて,
何らかのプログラミング環境で簡単なフロントエンド側のプログラムを作成し,
それでテストしてみてはいかがでしょう.
# PHPとかPerl使うのが簡単かな.

> 実は、今回のデータベースはエンコーディングが Unicode なのですよ。
> 詳しいことは忘れましたが、たしか、Unicode と日本語文字コードとの間の
> 変換において半角円マークは、不可逆変換になるとか聞いたことがあります。
> 
> うーんと、でも、上のバグの説明にしたがっても、
> エラー現象の整合的な説明ができないなー。
> 
> とすると、これと似た、別のバグなのだろうか。
> もしかしたら、このパッチで治るかもしれないかも。。。

十中八九無関係でしょう.

テーブル定義も分からないし,フロントエンドのエンコーディングも分からな
いのでテストのしようがないのですが,再現テストができるデータを提示いた
だけないでしょうか.
--
Tatsuo Ishii



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