ALTER SYSTEM
ALTER SYSTEM
ALTER SYSTEM은 전체 데이터베이스 클러스터에 걸쳐 서버 구성 파라미터를 변경하는 명령이에요. postgresql.conf 파일을 직접 편집하는 전통적인 방법보다 편리할 수 있어요.
출처: PostgreSQL 문서
본문
문법 (Synopsis)
ALTER SYSTEM SET configuration_parameter { TO | = } { value [, ...] | DEFAULT }
ALTER SYSTEM RESET configuration_parameter
ALTER SYSTEM RESET ALL
설명 (Description)
ALTER SYSTEM은 전체 데이터베이스 클러스터에 걸쳐 서버 구성 파라미터를 변경하는 데 사용해요. postgresql.conf 파일을 수동으로 편집하는 전통적인 방법보다 편리할 수 있어요. ALTER SYSTEM은 지정된 파라미터 설정을 postgresql.auto.conf 파일에 기록하는데, 이 파일은 postgresql.conf와 함께 추가로 읽혀요. 파라미터를 DEFAULT로 설정하거나 RESET 변형을 사용하면 postgresql.auto.conf 파일에서 해당 구성 항목을 제거해요. RESET ALL을 사용하면 이런 구성 항목을 모두 제거해요.
ALTER SYSTEM으로 설정한 값은 다음 서버 구성 재로드 이후에, 또는 서버 시작 시에만 변경할 수 있는 파라미터의 경우 다음 서버 재시작 이후에 적용돼요. 서버 구성 재로드는 SQL 함수 pg_reload_conf()를 호출하거나, pg_ctl reload를 실행하거나, 메인 서버 프로세스에 SIGHUP 신호를 보내 명령할 수 있어요.
슈퍼유저와 어떤 파라미터에 ALTER SYSTEM 권한을 부여받은 사용자만 ALTER SYSTEM으로 그 파라미터를 변경할 수 있어요. 또한 이 명령은 파일 시스템에 직접 작용하고 롤백할 수 없기 때문에, 트랜잭션 블록이나 함수 안에서는 허용되지 않아요.
파라미터 (Parameters)
configuration_parameter — 설정 가능한 구성 파라미터의 이름이에요. 사용 가능한 파라미터는 Chapter 19에 문서화되어 있어요.
value — 파라미터의 새 값이에요. 값은 문자열 상수, 식별자, 숫자, 또는 특정 파라미터에 적합한 이런 것들의 쉼표로 구분된 목록으로 지정할 수 있어요. 숫자도 유효한 식별자도 아닌 값은 따옴표로 묶어야 해요. DEFAULT를 적으면 postgresql.auto.conf에서 파라미터와 그 값을 제거하도록 지정할 수 있어요.
목록을 받는 일부 파라미터의 경우, 따옴표로 묶은 값은 공백과 쉼표를 보존하기 위해 큰따옴표로 묶인 출력을 만들어요. 다른 파라미터에 대해서는 이런 효과를 얻으려면 작은따옴표 문자열 안에 큰따옴표를 사용해야 해요.
주의 (Notes)
이 명령은 data_directory, allow_alter_system, 그리고 postgresql.conf에서 허용되지 않는 파라미터(예: preset options)를 설정하는 데는 사용할 수 없어요.
파라미터를 설정하는 다른 방법은 Section 19.1을 참고하세요.
allow_alter_system을 off로 설정하면 ALTER SYSTEM을 비활성화할 수 있지만, 이것은 보안 메커니즘은 아니에요 (이 파라미터 문서에 자세히 설명되어 있어요).
예제 (Examples)
wal_level을 설정하려면:
ALTER SYSTEM SET wal_level = replica;
그것을 되돌려 postgresql.conf에서 적용되던 설정을 복원하려면:
ALTER SYSTEM RESET wal_level;
호환성 (Compatibility)
ALTER SYSTEM 문은 PostgreSQL 확장 기능이에요.
더 알아보기 (Learn more)
ALTER SYSTEM설정은 다음 구성 재로드(또는 시작 시 전용 파라미터는 재시작) 후에 적용돼요.- 트랜잭션 블록이나 함수 안에서는 실행할 수 없어요.
RESET ALL로postgresql.auto.conf의 모든 설정을 제거할 수 있어요.