ALTER SYSTEM

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 확장 기능이다.

관련 항목

SET, SHOW