9.4 version부터 alter system 명령어로 파라미터를 변경할 수 있도록 출시예정입니다.
그에 대한 간단한 test 내용 참조하시길 바랍니다.
#alter system 명령어로 파라미터 변경
king=# show shared_buffers ;
shared_buffers
----------------
178MB
(1 row)
king=# show log_min_duration_statement ;
log_min_duration_statement
----------------------------
5s
(1 row)
king=# alter system set shared_buffers='120MB';
ALTER SYSTEM
king=# alter system set log_min_duration_statement='10s';
ALTER SYSTEM
# 9.4에서 부터 alter system으로 변경한 내용이 postgresql.auto.conf에 저장되어
실제 postgresql.conf 에는 변동되지 않습니다.
[postgres@RND02 data]$ cat postgresql.auto.conf
# Do not edit this file manually!
# It will be overwritten by ALTER SYSTEM command.
log_min_duration_statement = '10s'
shared_buffers = '120MB
#DB reload
[postgres@RND02 data]$ pg_ctl reload
server signaled
king=# show log_min_duration_statement ;
log_min_duration_statement
----------------------------
10s
(1 row)
king=# show shared_buffers ;
shared_buffers
----------------
178MB
(1 row)
shared_buffers는 변경이 반영이 안되었습니다.
#서버 restart
postgres=# show shared_buffers ;
shared_buffers
----------------
120MB
(1 row)
#결론
alter system 명령어는 변경할 내용에 대해 postgresql.auto.conf에 저장한 후에
reload나 restart시에 적용 . postgresql.conf에는 변경이 안된다.
postgresql.auto.conf는 수동으로 수정불가.