[pgpool-general-jp: 1713] Re: escape_string_warning = offを設定したPostgreSQLへpgpoolで接続した場合の挙動について

hiroin ap2 @ ap2.sakura.ne.jp
2022年 11月 23日 (水) 19:42:05 JST


石井様

お世話になります。
神谷と申します。

> このワーニングはPgpool-IIが出しています。standard_conforming_strings =
> offの場合、今の所、これを止める方法はありません。(次回以降のリリース
> で修正するかも知れません)

承知いたしました。
すごく困っているわけではないことと、
standard_conforming_strings = offで運用することがよくないことだと思っておりますので、
大丈夫です。

>> PosgtreSQLが11のときはpgpool経由でもHINTとWARNINGは出力されませんでし
>> た。
> 
> 何かの間違いではないでしょうか?このあたりのpgpoolの動作は、PostgreSQL
> が11でも15でも変わりないはずです。PostgreSQL 11のときには、
> standard_conforming_strings = onにしていた、とかではありませんか?

PosgtreSQL11のstandard_conforming_stringsはoffであることを確認しました。
「PosgtreSQLを11系から15系にVerUPした後」と記載しましたが、誤っておりました。
「Psqlを11から15にVerUPした後」でした。
以下にログを記載いたします。


[postgres @ localhost ~]$ /usr/pgsql-11/bin/psql -p 9999
psql (11.17)
"help" でヘルプを表示します。

postgres=# select * from pg_
Display all 229 possibilities? (y or n)
postgres=# select * from pg_^C
postgres=# \q
[postgres @ localhost ~]$ /usr/pgsql-15/bin/psql -p 9999
psql (15.0、サーバー 11.17)
"help"でヘルプを表示します。

postgres=# select * from pg_WARNING:  nonstandard use of \\ in a string literal
HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
WARNING:  nonstandard use of \\ in a string literal
HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
WARNING:  nonstandard use of \\ in a string literal
HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
WARNING:  nonstandard use of \\ in a string literal
HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.

Display all 229 possibilities? (y or n)


上記のとおり、/usr/pgsql-11/bin/psqlでは、pg_の後にTABしてもWARNINGがでませんが、
/usr/pgsql-15/bin/psqlでは、WARNINGがでます。



On 2022/11/22 16:19, Tatsuo Ishii wrote:
> 石井です。
> 
>> お世話になります。
>> 神谷と申します。
>>
>> PosgtreSQLを11系から15系にVerUPした後、
>> escape_string_warning = offと設定したPostgreSQLへpgpoolで接続した場合
>> の挙動が
>> 自分の想定と異なっております。
>> どのようにしたら自分の想定どおりとなるかご教示頂きたいです。
>>
>> [事象]
>> PostgreSQLの設定
>> escape_string_warning = off
>>
>> $ psql -p 5432
>> psql (15.1)
>> Type "help" for help.
>>
>> postgres=# select * from pg_ ← ここでTABキーを押下
>> Display all 141 possibilities? (y or n)
>>
>> これは想定どおりです。
>> 次にpgpoolを経由してPostgreSQLに接続した場合、以下のようになります。
>>
>> $ psql -p 9999
>> psql (15.1)
>> Type "help" for help.
>>
>> postgres=# select * from pg_WARNING: nonstandard use of \\ in a string
>> literal
>> HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
>> WARNING:  nonstandard use of \\ in a string literal
>> HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
>>
>> select * from pg_ まで入力しTABを押下すると上記のようにHINTとWARNINGが
>> 出力されます。
>> これは想定しておりません。
>> HINTとWARNINGは出力されないと思っております。
> 
> このワーニングはPgpool-IIが出しています。standard_conforming_strings =
> offの場合、今の所、これを止める方法はありません。(次回以降のリリース
> で修正するかも知れません)
> 
>> PosgtreSQLが11のときはpgpool経由でもHINTとWARNINGは出力されませんでし
>> た。
> 
> 何かの間違いではないでしょうか?このあたりのpgpoolの動作は、PostgreSQL
> が11でも15でも変わりないはずです。PostgreSQL 11のときには、
> standard_conforming_strings = onにしていた、とかではありませんか?
> --
> Tatsuo Ishii
> SRA OSS LLC
> English: http://www.sraoss.co.jp/index_en/
> Japanese:http://www.sraoss.co.jp



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