Snowflake Postgres 서버 설정¶
아래 테이블에는 Snowflake Postgres 인스턴스의 Postgres 서버 구성 요소에 대해 설정할 수 있는 매개 변수가 자세히 설명되어 있습니다. 각 설정의 이름은 해당 Postgres 설명서에 하이퍼링크로 연결되어 있습니다.
기본값 열에 “Postgres 기본값”이 표시되는 경우 Snowflake Postgres 인스턴스는 Postgres의 기본값을 사용합니다. 이는 주 버전별로 다를 수 있습니다.
Snowflake Postgres 인스턴스를 생성할 때 해당 Postgres 서버 설정 값을 설정하는 방법에 대한 자세한 내용은 Snowflake Postgres 인스턴스 생성하기 섹션을 참조하세요.
팁
특정 주 버전에 대한 매개 변수 설명서를 보려면 하이퍼링크 주소에서 “current”라는 단어를 대상 주 버전으로 변경합니다. 예를 들어, postgres:work_mem 설정에 대한 이 하이퍼링크 주소는 다음과 같습니다.
https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-WORK-MEM
Postgres 17 설명서의 주소는 다음과 같습니다.
https://www.postgresql.org/docs/17/runtime-config-resource.html#GUC-WORK-MEM
구성 요소 |
이름 |
다시 시작 필요 |
설명 |
기본값 |
|---|---|---|---|---|
pgbouncer |
FALSE |
자동으로 생성된(“*”을 통해) 데이터베이스 풀이 해당 시간(초) 동안 사용되지 않은 경우 풀이 해제됩니다. |
3600 |
|
pgbouncer |
FALSE |
사용자/데이터베이스 페어당 허용할 서버 연결 수입니다. |
497 |
|
pgbouncer |
FALSE |
매개 변수 시작 패킷(예: options,extra_float_digits)을 무시합니다. |
client_encoding,datestyle,timezone,standard_conforming_strings,extra_float_digits |
|
pgbouncer |
FALSE |
단일 서버 연결에서 활성 상태로 유지되는 준비된 문의 수 |
250 |
|
pgbouncer |
FALSE |
다른 클라이언트가 서버 연결을 다시 사용할 수 있는 시점을 지정합니다. |
트랜잭션 |
|
pgbouncer |
서버 연결이 해당 시간(초) 이상 유휴 상태로 있는 경우 연결이 종료됩니다. |
FALSE |
60 |
|
postgres |
FALSE |
실행 계획이 기록될 때 EXPLAIN 출력만이 아닌 EXPLAIN ANALYZE 출력도 인쇄되도록 합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
실행 계획이 기록될 때 버퍼 사용 통계를 인쇄할지 여부를 제어합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
사용할 EXPLAIN 출력 형식을 선택합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
문의 계획이 기록되도록 하는 최소 문 실행 시간(밀리초)입니다. |
Postgres 기본값 |
|
postgres |
FALSE |
중첩된 문(함수 내에서 실행되는 문)이 로깅을 위해 고려되도록 합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
실행 계획이 기록될 때 노드별 타이밍 정보를 인쇄할지 여부를 제어합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
실행 계획이 기록될 때 트리거 실행 통계가 포함되도록 합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
실행 계획이 기록될 때 자세한 세부 정보를 인쇄할지 여부를 제어합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
auto_explain이 각 세션에서 문의 일부만 설명하도록 합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
ANALYZE를 트리거할지 여부를 결정할 때 autovacuum_analyze_threshold에 추가할 테이블 크기의 일부를 지정합니다. |
Postgres 기본값 |
|
postgres |
TRUE |
테이블의 트랜잭션 ID가 테이블 내에서 트랜잭션 ID 순환을 방지하기 위해 VACUUM 작업이 강제되기 전에 도달할 수 있는 최대 기간(트랜잭션 수)을 지정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
자동 VACUUM 작업에서 사용할 비용 지연 값을 지정합니다. -1을 지정하면 일반 vacuum_cost_delay 값이 사용됩니다. |
Postgres 기본값 |
|
postgres |
FALSE |
자동 VACUUM 작업에서 사용할 비용 제한 값을 지정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
VACUUM을 트리거할지 여부를 결정할 때 autovacuum_vacuum_insert_threshold에 추가할 테이블 크기의 일부를 지정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
하나의 테이블에서 VACUUM을 트리거하는 데 필요한 삽입된 튜플 수를 지정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
VACUUM을 트리거할지 여부를 결정할 때 autovacuum_vacuum_threshold에 추가할 테이블 크기의 일부를 지정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
검사점 완료 대상을 검사점 간의 총 시간에 대한 비율로 지정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
자동 WAL 검사점 간의 최대 시간입니다. |
Postgres 기본값 |
|
postgres |
FALSE |
WAL 세그먼트 파일 채우기로 인해 발생한 검사점이 해당 시간보다 더 짧은 간격으로 발생하는 경우 서버 로그에 메시지를 작성합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
ALTER TABLE SET STATISTICS를 통해 설정된 열별 대상이 없는 테이블 열에 대한 기본 통계 대상을 설정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
구성을 지정하는 명시적 인자가 없는 텍스트 검색 함수의 베리언트에서 사용하는 텍스트 검색 구성을 선택합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
읽기 전용 SQL 트랜잭션은 비임시 테이블을 변경할 수 없습니다. |
꺼짐 |
|
postgres |
FALSE |
핫 대기가 해당 대기에서 현재 실행 중인 쿼리에 대한 피드백을 기본 대기에 전송할지 업스트림 대기에 전송할지 여부를 지정합니다. |
날짜 |
|
postgres |
FALSE |
열린 트랜잭션 내에서 지정된 시간보다 오랫동안 유휴 상태였던 세션을 종료합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
간격 값의 표시 형식을 설정합니다. |
Postgres 기본값 |
|
postgres |
`jit<https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-JIT>`_ |
FALSE |
JIT 지원을 활성화합니다. |
Postgres 기본값 |
postgres |
FALSE |
잠금 획득을 시도하는 동안 지정된 시간보다 오래 대기하는 모든 문을 중단합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
autovacuum이 실행한 각 작업이 지정된 시간보다 오래 실행된 경우 기록됩니다. |
Postgres 기본값 |
|
postgres |
FALSE |
성공적인 각 연결을 자세히 설명하는 라인을 서버 로그에 출력합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
원하는 로그 대상을 설정합니다. |
syslog,stderr |
|
postgres |
FALSE |
세션 종료가 기록되도록 합니다. 로그 출력은 log_connections와 유사한 정보 및 세션 기간을 제공합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
완료된 모든 문의 기간을 기록하도록 합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
각 로그 줄의 시작 부분에 출력되는 printf 스타일 문자열을 지정합니다. |
[%p][%b][%v][%x] %q[user=%u,db=%d,app=%a] |
|
postgres |
FALSE |
세션이 잠금을 획득하기 위해 deadlock_timeout보다 오래 대기할 때 로그 메시지를 생성할지 여부를 제어합니다. |
날짜 |
|
postgres |
FALSE |
지정된 시간보다 오래 실행된 완료된 문의 기간을 샘플링할 수 있습니다. |
Postgres 기본값 |
|
postgres |
FALSE |
문이 지정된 시간보다 오래 실행된 경우 완료된 각 문의 기간이 기록되도록 합니다. |
2초 |
|
postgres |
FALSE |
서버 로그에 기록된 메시지 수준을 제어합니다. |
공지 |
|
postgres |
FALSE |
이에 따라 개별 로그 파일의 최대 크기가 결정됩니다. |
Postgres 기본값 |
|
postgres |
FALSE |
기록되는 SQL 문을 제어합니다. |
ddl |
|
postgres |
FALSE |
기록될 기간이 log_min_duration_sample을 초과하는 문의 비율을 결정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
임시 파일 이름과 크기의 로깅을 제어합니다. |
10MB |
|
postgres |
FALSE |
다른 이유로 기록된 문 외에도 모든 문이 기록되는 트랜잭션의 비율을 설정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
논리적 디코딩에서 사용할 최대 메모리 양을 지정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
VACUUM, CREATE INDEX 및 ALTER TABLE ADD FOREIGN KEY와 같은 유지 관리 작업에서 사용할 최대 메모리 양을 지정합니다. |
TOTAL_MEMORY * 0.4 |
|
postgres |
TRUE |
데이터베이스 서버에 대한 최대 동시 연결 수를 결정합니다. |
500 |
|
postgres |
TRUE |
각 트랜잭션에 할당된 평균 오브젝트 잠금 수를 제어합니다. |
Postgres 기본값 |
|
postgres |
TRUE |
논리적 복제 작업자의 최대 수를 지정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
단일 유틸리티 명령으로 시작할 수 있는 최대 병렬 작업자 수를 설정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
클러스터가 병렬 작업을 위해 지원할 수 있는 최대 작업자 수를 설정합니다. |
NUM_CPUS |
|
postgres |
FALSE |
단일 Gather 또는 Gather Merge 노드에서 시작할 수 있는 최대 워커 수를 설정합니다. |
NUM_CPUS |
|
postgres |
TRUE |
서버에서 지원할 수 있는 최대 복제 슬롯 수를 지정합니다. |
10 |
|
postgres |
FALSE |
복제 슬롯이 검사점 시점에 |
STORAGE_GB * 0.1 |
|
postgres |
FALSE |
대기 서버가 곧 적용될 WAL 항목과 충돌하는 대기 쿼리를 취소하기 전에 대기해야 하는 시간을 결정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
대기 서버가 곧 적용될 WAL 항목과 충돌하는 대기 쿼리를 취소하기 전에 대기해야 하는 시간을 결정합니다. |
Postgres 기본값 |
|
postgres |
TRUE |
대기 서버 또는 스트리밍 기본 백업 클라이언트의 최대 동시 연결 수를 지정합니다. |
10 |
|
postgres |
`max_wal_size<https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-MAX-WAL-SIZE>`_ |
FALSE |
자동 검사점 중 WAL이 증가할 수 있는 최대 크기입니다. |
MIN(10GB, STORAGE_GB * 0.1) |
postgres |
TRUE |
클러스터가 지원할 수 있는 최대 백그라운드 프로세스 수를 설정합니다. |
100 |
|
postgres |
TRUE |
추적되는 최대 문의 수입니다. |
Postgres 기본값 |
|
postgres |
FALSE |
추적해야 하는 문을 제어합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
유틸리티 명령을 추적해야 합니다. 유틸리티 명령은 SELECT, INSERT, UPDATE, DELETE 및 MERGE 이외의 모든 명령입니다. |
Postgres 기본값 |
|
postgres |
FALSE |
순차적으로 가져오지 않는 디스크 페이지의 비용에 대한 플래너의 추정치를 설정합니다. |
1.1 |
|
postgres |
FALSE |
연결 시작 시 미리 로드할 하나 이상의 공유 라이브러리를 지정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
지정된 시간보다 오래 걸리는 모든 문을 중단합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
데이터베이스 서버가 클라이언트에 “성공” 표시를 반환하기 전에 완료해야 하는 WAL 처리량을 지정합니다. |
로컬 |
|
postgres |
FALSE |
syslog로 전송된 메시지를 1024바이트에 맞게 줄로 분할합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
클라이언트에 대한 서버의 연결이 비활성 상태로 간주되기 전에 손실될 수 있는 TCP 연결 유지 메시지의 수를 지정합니다. |
4 |
|
postgres |
FALSE |
네트워크 활동이 없는 시간 동안 운영 체제가 클라이언트에 TCP 연결 유지 메시지를 전송해야 시간을 지정합니다. |
2 |
|
postgres |
FALSE |
프로세스가 정렬 및 해시 임시 파일과 같은 임시 파일이나 보류된 커서의 저장소 파일에 사용할 수 있는 최대 디스크 공간을 지정합니다. |
MIN(2000GB, STORAGE_GB * 0.25) |
|
postgres |
TRUE |
pg_stat_activity.query 필드의 각 활성 세션에 대해 현재 실행 중인 명령의 텍스트를 저장하기 위해 예약된 메모리입니다. |
Postgres 기본값 |
|
postgres |
TRUE |
트랜잭션의 커밋 시간을 기록합니다. |
Postgres 기본값 |
|
postgres |
`wal_keep_size<https://postgresqlco.nf/doc/en/param/wal_keep_size/>`_ |
FALSE |
대기 서버가 스트리밍 복제를 위해 파일을 가져와야 하는 경우를 대비하여 pg_wal 디렉터리에 보관된 과거 WAL 파일의 최소 크기를 지정합니다. |
Postgres 기본값 |
postgres |
FALSE |
WAL 복제에 대한 최대 대기 시간을 설정합니다. |
Postgres 기본값 |
|
postgres |
FALSE |
임시 디스크 파일에 작성하기 전에 쿼리 작업(예: 정렬 또는 해시 테이블)에서 사용할 기본 최대 메모리 양을 설정합니다. |
(TOTAL_MEMORY * 0.75)/(NUM_CORES * 8) |