ALTER SYSTEM — 서버 환경 설정 매개 변수 값 바꾸기
ALTER SYSTEM SET환경설정_매개변수
{ TO | = } {값
| '값
' | DEFAULT } ALTER SYSTEM RESET환경설정_매개변수
ALTER SYSTEM RESET ALL
ALTER SYSTEM
명령은 서버 환경 설정 매개 변수 값을
바꾸는 일을 한다(쉬운 표현으로 서버 실행 환경 설정 값 바꾸기).
이 명령은 전통적으로 postgresql.conf
파일을
변경해서 서버 설정을 바꾸는 것을 SQL 구문으로 처리 할 수 있게 한다.
ALTER SYSTEM
명령 결과는
postgresql.auto.conf
파일에 저장되며,
서버를 시작 하거나, 환경 설정 값을 다시 불러 올 때,
postgresql.conf
을 반영 한 다음,
이 파일을 최종 반영하는 방식으로 처리된다.
매개 변수 값으로 DEFAULT
를 지정하거나,
RESET
구문을 이용하면,
postgresql.auto.conf
파일에 있는
해당 설정을 지운다. 이 파일 안에 있는 모든 내용을 지우려면,
RESET ALL
구문을 사용한다.
ALTER SYSTEM
명령으로 지정한 설정은
서버 환경 설정 다시 불러 오기(reload)나, 서버 다시 시작으로 적용된다.
(개별 환경 설정 변수의 적용 시점은 제각각이다. 적용 시점을
데이터베이스 관리자는 알고 있어야 한다. - 옮긴이)
서버 환경 설정 다시 불러 오는 작업은 pg_reload_conf()
SQL 함수를 호출하거나, pg_ctl reload
쉘 명령을 실행하거나,
메인 서버 프로세스에 SIGHUP 시그널을 보내면 된다.
ALTER SYSTEM
명령은 슈퍼유저만 사용할 수 있다.
이 작업은 직접 파일 시스템을 조작하는 것으로 취소 할 수 없다.
따라서 함수나 트랜잭션 영역 안에서는 사용할 수 없다.
환경설정_매개변수
설정하려는 환경 설정 매개 변수 이름. 사용할 수 있는 이름은 19장에서 다룬다.
값
해당 매개 변수의 설정 값. 이 값은 문자열, 미리 정의된 식별 단어, 숫자,
쉼표로 구분한 이 모든 것들의 목록일 수 있다.
값으로 DEFAULT
를 지정하면,
postgresql.auto.conf
파일에서 해당 환경 설정
변수에 대한 설정을 지운다.
이 명령은 data_directory 설정 값을 바꿀 수 없고,
postgresql.conf
파일에서 다루지 않는 환경 설정
매개 변수 값은 바꿀 수 없다(예,
프리셋 옵션).
19.1절에서는 매개 변수 값을 바꾸는 다른 방법들도 소개한다.
wal_level
설정:
ALTER SYSTEM SET wal_level = replica;
postgresql.conf
파일에 지정한 값으로 되돌리는 명령:
ALTER SYSTEM RESET wal_level;
ALTER SYSTEM
구문은
PostgreSQL 확장 기능이다.