[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 メーリングリストの案内