[pgpool-general-jp: 1690] Re: パラメータステータスの取り扱いの変更について
Tatsuo Ishii
ishii @ sraoss.co.jp
2022年 3月 2日 (水) 20:00:10 JST
清浦様
> 石井様
>
> お世話になっております。清浦です。
>
>> 「なにかクエリを実行」のところで、SET SESSION_AUTHORIZATION コマンドを
>> 実行しているということはないでしょうか?
>> psql で接続し、何もコマンドを実行しないでpsqlを抜けても同様のログが記
>> 録されるでしょうか?
>
> はい。確かに psql で接続し、何もコマンドを実行しないで psql を抜けても同様のログが
> 記録されました。
>
> SET SESSION_AUTHORIZATION コマンドについてよく解かっていないので確認します。
>
> 自分で explicit にセットした覚えはないのですが、もしこれが implicit にどこかでセット
> されていると、Backend から ParameterStatus Message が切断時に返される理解で正しいでしょうか?
> (Pgpool-II の問題ではなく、PostgreSQL あるいはクライアントに原因がある理解で正しいでしょうか?)
はい、そう考えています。
手元の環境でも、PostgreSQLのスーパーユーザで接続した後、以下を実行すると、
test=# set session_authorization to 'foo';
SET
test=> \q
以下のようなログが記録されます。
set session_authorization コマンドを実行したために、バックエンドからParameterStatusメッセージが送られてくる。
2022-03-02 18:27:24.828: psql pid 612368: LOG: DB node id: 0 backend pid: 612611 statement: set session_authorization to 'foo';
2022-03-02 18:27:24.829: psql pid 612368: LOG: ParameterStatus message from backend: 0
2022-03-02 18:27:24.829: psql pid 612368: DETAIL: parameter name: "is_superuser" value: "off"
2022-03-02 18:27:24.829: psql pid 612368: LOG: ParameterStatus message from backend: 0
2022-03-02 18:27:24.829: psql pid 612368: DETAIL: parameter name: "session_authorization" value: "foo"
セッションを切断したために、DISCARD ALLが実行される(pgpool.confのreset_query_listで指定されている)。結果、ユーザがsuper userに戻るので、やはりバックエンドからParameterStatusメッセージが送られてくる。
2022-03-02 18:27:27.287: psql pid 612368: LOG: DB node id: 0 backend pid: 612611 statement: DISCARD ALL
2022-03-02 18:27:27.288: psql pid 612368: LOG: ParameterStatus message from backend: 0
2022-03-02 18:27:27.288: psql pid 612368: DETAIL: parameter name: "is_superuser" value: "on"
2022-03-02 18:27:27.288: psql pid 612368: LOG: ParameterStatus message from backend: 0
2022-03-02 18:27:27.288: psql pid 612368: DETAIL: parameter name: "session_authorization" value: "t-ishii"
ちなみにこの環境では"t-ishii"はPostgreSQLのスーパユーザです。
set session_authorization to 'foo';を実行しなければ、このようなログは記録されません。
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
pgpool-general-jp メーリングリストの案内