手を動かすPostgreSQL(9)-GUCパラメータSET変更編-
前回のあらすじ
前回はGUCパラメータをリロードで変更する方法について説明しました。
superuser(スーパーユーザのSETコマンド)、user(通常ユーザのSETコマンド)について
ロールの概念については3回前にやったので割愛します。
今回はcontextがユーザのパラメータとしてenable_indexscanを使用します。
ossdb=# \x
Expanded display is on.
ossdb=# SELECT * FROM pg_settings WHERE name='enable_indexscan';
-[ RECORD 1 ]---+-----------------------------------------------
name | enable_indexscan
setting | on
unit |
category | Query Tuning / Planner Method Configuration
short_desc | Enables the planner's use of index-scan plans.
extra_desc |
context | user
vartype | bool
source | default
min_val |
max_val |
enumvals |
boot_val | on
reset_val | on
sourcefile |
sourceline |
pending_restart | f
では早速SETコマンドを実行します。設定値が変わったのが分かりますね。(3回目なのでかっ飛ばす流れ)
ossdb=# SET enable_indexscan TO off;
SET
ossdb=# SELECT * FROM pg_settings WHERE name='enable_indexscan';
-[ RECORD 1 ]---+-----------------------------------------------
name | enable_indexscan
setting | off
unit |
category | Query Tuning / Planner Method Configuration
short_desc | Enables the planner's use of index-scan plans.
extra_desc |
context | user
vartype | bool
source | session
min_val |
max_val |
enumvals |
boot_val | on
reset_val | on
sourcefile |
sourceline |
pending_restart | f
一応postmaster(再起動)のパラメータが反映されないのも確かめたいので、postmasterのパラメータとしてshared_buffersを用います。
ossdb=# SET shared_buffers TO 8192;
ERROR: parameter "shared_buffers" cannot be changed without restarting the server
エラーが出て変更できなかったことが分かります。
さて、これで長かったGUCパラメータもひと段落です。次は何を書きましょうか。
宣伝
OSS-DB Goldの認定教材をリリースしました。
2023年2月時点で唯一のVer.3.0対応の教材です。
(自分も含めて)既にこの教材を活用した合格者を輩出しております。
受験を検討されている方はぜひご検討の程をお願い致します。
次回の記事はこちら
この記事が気に入ったらサポートをしてみませんか?