logo
문의하기
서비스리소스블로그아카데미
logo
문의하기
logo

데이터와 IT 흐름을 읽는 시선,
뉴스레터 EXEM View 구독하기

Subscribe

주식회사 엑셈

서울시 강서구 마곡중앙8로5길 40

Tel 02-6203-6300 ㅣ Fax 02-6203-6301

ⓒ EXEM Co., Ltd. All Rights Reserved.
개인정보 처리방침서비스 이용약관
  • 서비스

    • Database
    • Application
    • AIOps
    • LLMOps
    • Big Data
    • All-in-One
    • Consulting
  • 신청

    • 세미나
    • 사옥 투어
  • 회사

    • 기업 소개
    • 채용 안내
    • IR
    • 오시는 길
  • 자료

    • 제품 브로슈어
    • 제품 살펴보기
    • 도서 실습자료
  • awsaws
  • microsoftmicrosoft
  • oracleoracle
  • naver-cloudnaver-cloud
PostgreSQL 참고자료 - Configuration File: postgresql.conf
PostgreSQL 참고자료 - Configuration File: postgresql.conf

PostgreSQL 참고자료 - Configuration File: postgresql.conf

📌 Ubuntu에서 apt-get(Advanced Packaging Tool)을 사용하여 설치한 PostgreSQL 14 버전 기준으로 정리 파라미터 명에 노란색 음영처리는 변경 시 재기동필요

FILE LOCATIONS

Parameter
Default Value
Description
data_directory
/var/lib/postgresql/14/main
Data Directory 경로
external_pid_file
/var/run/postgresql/14-main.pid
postmaster PID 저장 파일
hba_file
/etc/postgresql/14/main/pg_hba.conf
hba 설정파일 경로
ident_file
/etc/postgresql/14/main/pg_ident.conf
ident 설정파일 경로
 

CONNECTIONS AND AUTHENTICATION

Connection Settings

Parameter
Default Value
Range
Description
bonjour
off
ㅤ
Bonjour를 통한 서버 광고 활성화
bonjour_name
ㅤ
ㅤ
Bonjour 서비스 이름 설정
listen_addresses
localhost
ㅤ
Listen할 host-name 또는 IP주소 * ⇒ 사용 가능한 모든 IP 0.0.0.0 ⇒ IPv4 주소 수신 허용 :: ⇒ IPv6 주소 수신 허용
max_connections
100
1~262143
최대 동시 연결 수
port
5432
1~65535
서버가 수신하는 TCP Port 설정
superuser_reserved_connections
3
0~262143
Superuser로 예약된 연결 슬롯 수
unix_socket_directories
/var/run/postgresql
ㅤ
Unix 도메인 소켓이 생성될 디렉토리
unix_socket_group
ㅤ
ㅤ
Unix 도메인 소켓의 소유 그룹설정. unix_socket_permissions 파라미터와 같이 사용하여 액세서 제어 설정 가능
unix_socket_permissions
0777
ㅤ
Unix 도메인 소켓의 액세스 권한 설정 0777 ⇒ 모든 접속 0770 ⇒ 사용자 및 그룹만 접속(unix_socket_group 참조) 0700 ⇒ 사용자만 접속
 

TCP settings

Parameter
Default Value
Range
Description
client_connection_check_interval
0ms
0~2147483647ms
[14버전추가] 쿼리 실행 동안 연결 상태 확인 시간 간격
tcp_keepalives_count
0
0~2147483647
최대 TCP 연결 유지 재전송 수
tcp_keepalives_idle
0s
0~2147483647s
Time between issuing TCP keepalives.
tcp_keepalives_interval
0s
0~2147483647s
Time between TCP keepalive retransmits.
tcp_user_timeout
0ms
0~2147483647ms
TCP User timeout
 

Authentication

Parameter
Default Value
Range
Description
authentication_timeout
60s
1~600s
클라이언트 인증을 완료하는데 허용되는 최대 시간
db_user_namespace
off
ㅤ
DB별 사용자 이름 활성화
krb_caseins_users
off
ㅤ
Kerberos, GSSAPI 사용자 이름을 대소문자 구분할지 여부
krb_server_keyfile
FILE:/etc/postgresql-common/krb5.keytab
ㅤ
Kerberos 서버 키 파일의 위치
password_encryption
scram-sha-256
scram-sha-256 md5
[14버전Default변경] 비밀번호 암호화 알고리즘 선택
 

SSL

Parameter
Default Value
Range
Description
ssl
on
ㅤ
SSL 연결 활성화
ssl_ca_file
ㅤ
ㅤ
SSL 인증 기관 파일의위치
ssl_cert_file
/etc/ssl/certs/ssl-cert-snakeoil.pem
ㅤ
SSL 서버 인증서 파일 위치
ssl_ciphers
HIGH:MEDIUM:+3DES:!aNULL
ㅤ
허용된 SSL 암호 목록 설정
ssl_crl_dir
ㅤ
ㅤ
[14버전추가] SSL 인증서 해지 목록 디렉토리 위치
ssl_crl_file
ㅤ
ㅤ
SSL 인증서 해지 목록 파일 위치
ssl_dh_params_file
ㅤ
ㅤ
SSL DH 파라미터 파일 위치
ssl_ecdh_curve
prime256v1
ㅤ
ECDH에 사용할 곡선 설정
ssl_key_file
/etc/ssl/private/ssl-cert-snakeoil.key
ㅤ
SSL 서버 개인 키 파일 위치
ssl_max_protocol_version
ㅤ
TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
사용할 최대 SSL/TLS 프로토콜 버전 설정
ssl_min_protocol_version
TLSv1.2
TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
사용할 최소 SSL/TLS 프로토콜 버전 설정
ssl_passphrase_command
ㅤ
ㅤ
SSL 암호를 가져오는 명령어
ssl_passphrase_command_supports_reload
off
ㅤ
서버 reload 동안 ssl_passphrase_command 사용여부
ssl_prefer_server_ciphers
on
ㅤ
서버의 SSL 암호 기본 설정을 사용할지 여부
 

RESOURCE USAGE (except WAL)

Memory

Parameter
Default Value
Range
Description
autovacuum_work_mem
-1
-1~2147483647kB
autovacuum worker에서 사용할 최대 메모리 크기. -1의 경우 maintenance_work_mem 값을 사용. • dead tuple 식별자 수집의 경우 autovacuum은 최대 1GB의 메모리만 사용할 수 있으므로 autovacuum_work_mem을 이 값 이상으로 설정하면 autovacuum이 테이블을 검색하는 동안 수집할 수 있는 dead tuple 수에 영향을 미치지 않습니다.
dynamic_shared_memory_type
posix
posix, sysv, windows, mmap
사용된 동적 공유 메모리 구현 선택
hash_mem_multiplier
1.0
1~1000.0
Hash Table에 사용할 work_mem의 배수
huge_pages
try
on, off, try
huge page 사용 (Linux, Windows 전용)
huge_page_size
0
0~2147483647kB
[14버전추가] huge page 크기
logical_decoding_work_mem
65536 (64MB)
64(1MB) ~ 2147483647kB
Logical decoding에 사용할 최대 메모리 크기
maintenance_work_mem
65536 (64MB)
1024(1MB) ~ 2147493647kB
유지 관리 작업에 사용할 최대 메모리 크기 • VACUUM , CREATE INDEX 및 ALTER TABLE ADD FOREIGN KEY 와 같은 유지 관리 작업에서 사용할 최대 메모리 양을 지정합니다. • 데이터베이스 세션은 이러한 작업 중 하나만 실행할 수 있으며 설치 시 일반적으로 많은 작업이 동시에 실행되지 않으므로 work_mem보다 이 값을 훨씬 크게 설정하는 것이 안전합니다. • 이 값을 크게 설정하면 VACUUM 및 데이터 베이스 덤프 복구 성능이 향상될 수 있습니다. • autovacuum 시 autovacuum_max_workers 만큼의 배수까지 할당될 수 있으므로 설정에 주의가 필요합니다.
min_dynamic_shared_memory
0MB
0~2147483647MB
[14버전추가] 시작 시 예약된 동적 공유 메모리 크기
max_prepared_transactions
0
0~252143
동시에 준비된 트랜잭션의 최대 수
max_stack_depth
100kB
100~2147483647kB
최대 stack 깊이(KB)
shared_buffers
1024 (8MB)
16 (128kB) ~ 1073741823 (8589934584kB)
• 서버에서 사용하는 공유 메모리 버퍼의 수(메모리 양)를 설정합니다. • 128KB 이상이어야 하며, 일반적으로 좋은 성능을 위해서는 최소값보다는 훨씬 높은 설정이 필요합니다. • 이 값은 서버 시작시에만 설정할 수 있습니다. • 1GB 이상의 RAM이 있는 전용 데이터베이스 서버가 있는 경우 shared_buffer의 합리적인 시작 값은 시스템 메모리의 25%입니다.
shared_memory_type
mmap
mmap, sysv, windows
Main 공유 메모리 영역에 사용되는 공유 메모리 구현 선택
temp_buffers
1024 (8MB)
100 (800kB) ~ 1073741823 (8589934584kB)
• 각 세션에서 사용하는 임시 버퍼의 최대 수(메모리 양)를 설정합니다. • 임시 테이블에 대한 액세스에만 사용되는 세션 로컬 버퍼입니다. • 개별 세션 내에서 변경할 수 있지만 세션 내에서 임시 테이블을 처음 사용하기 전에만 변경할 수 있습니다.(이후 시도는 해당 세션에 영향을 미치지 않습니다.)
work_mem
4096kB
64~2147483647kB
• 쿼리 작업 공간에 사용할 최대 메모리를 설정합니다. • 임시 디스크 파일에 쓰기 전에 쿼리 작업(ex. 정렬 또는 해시 테이블)에서 사용할 최대 메모리 양을 설정합니다. • 복잡한 쿼리의 경우 여러 정렬 또는 해시 작업이 병렬로 실행될 수 있으므로 사용된 총 메모리는 값의 work_mem 값의 여러 배가 될 수 있습니다.
 

Disk

Kernel Resources

Parameter
Default Value
Range
Description
temp_file_limit
-1
-1~2147483647kB
• 각 프로세스에서 사용하는 모든 임시 파일의 총 크기를 제한합니다. • 프로세스가 임시 파일(ex. 정렬 및 해시 임시파일 또는 보유한 커서의 저장 파일)에 사용할 수 있는 최대 디스크 공간을 지정하며, 이 크기를 초과하는 트랜잭션은 취소됩니다. • PostgreSQL 프로세스에서 사용하는 모든 임시 파일이 사용하는 전체 공간을 제한하며, 슈퍼유저만 이 설정을 변경할 수 있습니다. • 쿼리 실행에서 백그라운드에서 사용되는 임시 파일과 달리 명시적 임시 테이블에서 사용되는 디스크 공간은 이 제한에 포함되지 않습니다.
 
Parameter
Default Value
Range
Description
max_files_per_process
1000
64~2147483647
각 서버 프로세스에서 동시에 열 수 있는 최대 파일 수
 

Cost-Based Vacuum Delay

Parameter
Default Value
Range
Description
vacuum_cost_delay
0
0~100 ms
Vacuum 작업에 사용될 cost 지연 값을 지정합니다. 0 ⇒ disable
vacuum_cost_limit
200
1~10000
Vacuum을 절전 모드로 전환하는 비용
vacuum_cost_page_dirty
20
0~10000
dirty page를 flush 하는데 필요한 I/O 비용
vacuum_cost_page_hit
1
0~10000
Vacuum을 위해 buffer cache를 탐색하는 비용
vacuum_cost_page_miss
2
0~10000
Vacuum을 위해 disk를 탐색하는 비용
 

Background Writer

Parameter
Default Value
Range
Description
bgwriter_delay
200ms
10ms~10000ms
• bgwriter 수행 주기를 나타냅니다. • bgwriter_lru_maxpages만큼의 dirty pages를 정리한 후 sleep하는 시간입니다.
bgwriter_flush_after
64 (512kB)
0~256(2MB)
이전에 수행된 쓰기가 디스크에 flush된 후 page 수 0 ⇒ disable
bgwriter_lru_maxpages
100
0 ~1073741823
• 한번 write시 디스크로 내릴 수 있는 최대 buffer page 수를 나타냅니다. • 0으로 설정하면 checkpoint activity를 제외한 background 쓰기가 비활성화됩니다.
bgwriter_lru_multiplier
2.0
0.0~10.0
• 최근 수행에 필요했던 buffer 양 기반으로 각 주기에 디스크에 저장하는 buffer의 양을 예측합니다.(필요 buffer 양의 평균에 bgwriter_lru_multiplier를 곱해서 계산합니다.) • bgwriter_lru_maxpages 및 bgwriter_lru_multiplier 값이 작을수록 bgwriter로 인한 추가 I/O가 줄어들지만 서버 프로세스가 자체적으로 쓰기를 실행해야 할 가능성이 높아져 interactive queries가 지연됩니다.
 

Asynchronous Behavior

Parameter
Default Value
Range
Description
backend_flush_after
0kB
0~256(2MB)
이전에 수행된 쓰기가 디스크에 flush된 후 page 수 0 ⇒ disable
effective_io_concurrency
1
0~1000
Disk subsystem에서 효율적으로 처리할 수 있는 동시 요청 수 0 ⇒ disable
maintenance_io_concurrency
10
0~1000
유지 보수 작업에 사용되는 effective_io_concurrency의 변형 0 ⇒ disable
max_parallel_maintenance_workers
2
0~1024
유지 관리 작업당 최대 병렬 프로세스 수
max_parallel_workers
8
0~1024
한번에 활성화할 수 있는 최대 병렬 작업자 수 max_worker_processes 보다 크게 설정해도 아무런 영향을 미치지 않음.
max_parallel_workers_per_gather
2
0~1024
Executor 노드 당 최대 병렬 프로세스 수
max_worker_processes
8
0~262143
최대 동시 작업 프로세스 수
old_snapshot_threshold
-1
-1 ~ 86400min(60d)
Snapshot을 만든 후 변경된 페이지를 읽을 수 없을 때까지의 시간 -1 ⇒ disable, 0 ⇒ immeidate
parallel_leader_participation
on
ㅤ
Gather나 Gather Merge도 하위 계획을 실행할지 여부
 
 

WRITE-AHEAD LOG

Settings

Parameter
Default Value
Range
Description
commit_delay
0
0~100000ms
트랜잭션 commit과 Disk에 WAL flush 사이의 지연시간
commit_siblings
5
1~1000
commit_delay를 수행하기 전에 열려 있는 최소 동시 트랜잭션 수
fsync
on
ㅤ
Disk에 update를 강제로 동기화
full_page_writes
on
ㅤ
Checkpoint 후 처음 수정할 때 전체 페이지를 WAL에 쓸지 여부
synchronous_commit
on
local, remote_write, remote_apply, on, off
현재 트랜잭션의 동기화 수준 설정 • commit 수행시 WAL 레코드를 디스크로 저장했다는 의미의 "success" 리턴여부를 설정합니다. • off 인 경우 실제 트랜잭션이 안정하게 반영된 시점까지 delay가 존재합니다.(최대 delay는 wal_writer_delay의 3배입니다.) • DB성능이 중요하다면 off 권장
wal_buffers
-1
-1~262143 (2097144kB)
Disk에 아직 기록되지 않은 WAL 데이터에 사용되는 공유 메모리 양 WAL에 대한 공유 메모리의 Disk-page buffer 수 설정 -1 ⇒ shared_buffers로 설정 • 값이 클 수록, 클라이언트가 한 번에 커밋하는 사용량이 많은 서버에서 쓰기 성능이 향상됨
wal_compression
off
ㅤ
WAL 파일에 기록된 전체 페이지 쓰기를 압축할지 여부
wal_init_zero
on
ㅤ
처음 사용하기 전에 새로운 WAL 파일에 0을 기록할지 여부
wal_level
replica
minimal, replica, logical
WAL에 기록되는 정보의 수준 설정
wal_log_hints
off
ㅤ
중요하지 않은 수정에도 Checkpoint 후 처음 수정할 때 전체 페이지를 WAL에 쓸지 여부
wal_recycle
on
ㅤ
WAL 파일의 이름을 변경하여 재활용 할지 여부
wal_skip_threshold
2048(2MB)
0~2147483647kB
WAL을 쓰는 대신 fsync할 새로운 파일의 최소 크기 (wal_level=minimal 일 경우)
wal_sync_method
fdatasync
open_datasync, fdatasync, fsync, open_sync
Disk에 WAL 업데이트를 강제로 적용하는 데 사용되는 Method 설정
wal_writer_delay
200ms
1ms ~ 10000ms(10s)
WAL Writer에서 WAL Flush를 수행하는 간격 • wal writer 기록 간 sleep 시간를 의미하며, sleep delay의 효율적인 설정은 10ms 입니다. • wal_writer_delay를 10의 배수가 아닌 값으로 설정하면 다음으로 높은 10의 배수로 설정하는 것과 동일합니다.
wal_writer_flush_after
128(1MB)
0 ~ 2147283647 (17179869176kB)
Flush를 유발하는 WAL Writer가 기록한 WAL의 양 0 ⇒ disable
 

Checkpoints

Parameter
Default Value
Range
Description
checkpoint_completion_target
0.9
0 ~ 1
• checkpoint 중 dirty buffer는 기간을 나눠서 write하는데, 그 기간을 설정하는 파라미터입니다. • 0.5인 경우, 다음 checkpoint가 시작되기 전 시간의 약 절반이 지난 후 각 checkpoint를 완료하는 것으로 예상합니다.
checkpoint_flush_after
32 (256kB)
0 ~ 256(2MB)
• 이전에 수행된 write에 대해 디스크로 flush 된 page 수 입니다. • checkpoint를 수행하는 동안 해당 파라미터 값보다 많은 데이터가 기록될때마다 OS는 기본 스토리지에 쓰기를 실행해야 합니다. • 커널의 page cache에 있는 dirty 데이터의 양이 제한되어 fsync가 checkpoint 끝에서 실행되거나 OS가 백그라운드에서 더 큰 배치로 데이터를 다시 쓸때 멈출 가능성이 감소합니다.
checkpoint_timeout
300s
30~86400s(1day)
자동 WAL checkpoint 간의 최대 시간
checkpoint_warning
30s
0 ~ 2147483647s
• checkpoint 사이의 임계값을 구성하는 파라미터입니다. • checkpoint가 해당 파라미터 값에 가깝게 발생할 경우, 시스템이 서버 로그에 경고하여 사용자가 max_wal_size를 늘릴 것을 권장합니다.
max_wal_size
1024MB
2 ~ 2147483647MB
checkpoint가 발생하는 최대 WAL 사이즈입니다.
min_wal_size
80MB
2 ~ 2147483647MB
checkpoint가 발생하는 최소 WAL 사이즈입니다. 해당 크기 아래로 유지되는 한 오래된 WAL 파일은 제거되지 않고 체크포인트에서 향후 사용을 위해 항상 재활용됩니다.
 

Archiving

Parameter
Default Value
Range
Description
archive_command
ㅤ
ㅤ
• WAL파일을 아카이브하기 위해 설정한 명령어입니다. • %p : 아카이브 파일의 경로 이름 • %f : 아카이브 파일명 • WAL 세그먼트 파일이 아카이브되면 archive_command에서 지정한 명령이 실행됩니다. 보관 명령이 0을 리턴하면 PostgreSQL은 파일이 성공적으로 아카이브된 것으로 간주한 다음 WAL 세그먼트 파일을 삭제하거나 재활용합니다. 0이 아닌 다른값이 리턴되면 성공할때까지 주기적으로 재시도를 합니다.
archive_mode
off
always, on, off
• archive_command를 사용하여 WAL파일을 보관할지 설정 가능합니다. • always로 설정하면 아카이브 복구 또는 대기 모드에서도 Archiver가 활성화됩니다.
archive_timeout
0s
0 ~ 1073741823s
• 서버가 주기적으로 새 WAL 세그먼트 파일로 전환하도록 하는 파라미터 • 해당 파라미터의 값만큼의 시간(N초)이 초과되면 WAL 세그먼트 파일이 강제로 전환됩니다. • 강제스위치로 인해 일찍 닫히는 아카이브 파일의 길이는 전체 파일과 동일하기 때문에 너무 짧은 시간으로 설정하면 아카이브 스토리지가 사용량이 급증할 수 있습니다.(일반적으로 1분을 권장하며 디스크 공간과 대기시간을 고려하여 설정합니다.
 

Archive Recovery

Parameter
Default Value
Range
Description
archive_cleanup_command
ㅤ
ㅤ
재시작 지점에 실행될 쉘 명령 설정
recovery_end_command
ㅤ
ㅤ
복구가 끝날 때 한 번 실행될 쉘 명령 설정
restore_command
ㅤ
ㅤ
보관된 WAL 파일을 검색하기 위해 호출할 수레 명령 설정
 

Recovery Target

Parameter
Default Value
Range
Description
recovery_target
ㅤ
ㅤ
일관된 상태에 도달하는 즉시 복구를 종료하려면 “immediate”로 설정
recovery_target_action
pause
pause, promote, shutdown
복구 대상에 도달할 때 수행할 작업 설정
recovery_target_inclusive
on
ㅤ
복구 대상과의 트랜잭션을 포함할지 제외할지 여부
recovery_target_lsn
ㅤ
ㅤ
복구가 진행될 write-ahead 로그 위치의 LSN을 설정
recovery_target_name
ㅤ
ㅤ
복구가 진행될 지정된 복원 지점 설정
recovery_target_time
ㅤ
ㅤ
복구가 진행될 최대 timestamp 설정
recovery_target_timeline
latest
current, latest
복구할 시간대 지정
recovery_target_xid
ㅤ
ㅤ
복구가 진행될 트랜잭션 ID 설정
 

REPLICATION

Sending Servers

Parameter
Default Value
Range
Description
max_replication_slots
10
0~262143
동시에 정의된 최대 복제 슬롯 수
max_slot_wal_keep_size
-1
-1~2147483647MB
복제 슬롯으로 예약하 수 있는 최대 WAL 크기 -1 ⇒ disable
max_wal_senders
10
0~262143
동시에 실행되는 WAL 송신자 프로세스의 최대 수
track_commit_timestamp
off
ㅤ
트랜잭션 Commit 시간 수집여부
wal_keep_size
0
0~2147483647MB
Standby 서버에 대해 유지되는 WAL 파일의 크기 0 ⇒ disable
wal_sender_timeout
60000ms (1min)
0~2147483647ms
WAL 복제를 대기할 최대 시간 0 ⇒ disable
 

Primary Server (under 13 : Master Server)

Parameter
Default Value
Range
Description
synchronous_standby_names
ㅤ
ㅤ
동기 Standby 수와 잠재적인 동기 Standby 이름 목록
vacuum_defer_cleanup_age
0
0~1000000
Vacuum과 HOT Cleanup을 연기해야 하는 트랜잭션 수
 

Standby Servers

Parameter
Default Value
Range
Description
hot_standby
on
on, off
복구 중에 연결 및 쿼리 허용 여부
hot_standby_feedback
off
ㅤ
쿼리 충돌을 피할 수 있도록 Hot standby에서 Primary로 피드백 허용 여부
max_standby_archive_delay
30000ms
-1~2147483647ms
Hot standby 서버가 보관된 WAL 데이터 처리시 쿼리를 취소하기 전 최대 지연시간
max_standby_streaming_delay
30000ms
-1~2147483647ms
Hot standby 서버가 스트리밍된 WAL 데이터 처리시 쿼리를 취소하기 전 최대 지연시간
primary_conninfo
ㅤ
ㅤ
Sending Server에 연결하는 데 사용할 연결 문자열 설정
primary_slot_name
ㅤ
ㅤ
Sending Server에서 사용할 복제 슬롯 이름 설정
promote_trigger_file
ㅤ
ㅤ
대기 상태에서 복구가 끝나는 파일 이름 설정
recovery_min_apply_delay
0ms
0~2147483647ms
복구 중 변경 사항을 적용하기 위한 최소 지연 시간
wal_receiver_create_temp_slot
off
ㅤ
영구적인 슬롯이 구성되지 않은 경우, WAL Receiver가 임시 복제 슬롯 생성 여부
wal_receiver_status_interval
10s
0~2147483s
WAL Receiver 상태 보고서를 Sending Server에 전달하는 최대 시간 간격 0 ⇒ disable
wal_receiver_timeout
60000ms
0~2147483647ms
Seding Server에서 데이터를 수신하기 위한 최대 대기 시간 0 ⇒ disable
wal_retrieve_retry_interval
5000ms
1~2147483647ms
실패한 시도 후 WAL 검색을 다시 시도하기까지 대기 시간
 

Subscribers

Parameter
Default Value
Range
Description
max_logical_replication_workers
4
0~262143
논리적 복제 작업 프로세스의 최대 수
max_sync_workers_per_subscription
2
0~262143
Subscription 당 테이블 동기화 작업자의 최대 수
 

QUERY TUNING

Planner Method Configuration

Parameter
Default Value
Description
enable_async_append
on
[14버전추가] async append plan 사용 여부
enable_bitmapscan
on
bitmap-scan plan 사용 여부
enable_gathermerge
on
[14버전추가] gather merge plan 사용 여부
enable_hashagg
on
hash aggregation plan 사용 여부
enable_hashjoin
on
hash join plan 사용 여부
enable_incremental_sort
on
incremental sort plan 사용 여부
enable_indexscan
on
index scan plan 사용 여부
enable_indexonlyscan
on
index-only-scan plan 사용 여부
enable_material
on
materialization plan 사용 여부
enable_memoize
on
[14버전추가] memoization plan 사용 여부
enable_mergejoin
on
merge join plan 사용 여부
enable_nestloop
on
nested-loop join plan 사용 여부
enable_parallel_append
on
parallel append plan 사용 여부
enable_parallel_hash
on
parallel hash plan 사용 여부
enable_partition_pruning
on
plan-time과 execution-time partition pruning 사용 여부
enable_partitionwise_join
off
partitionwise join 사용 여부
enable_partitionwise_aggregate
off
partitionwise aggregation과 grouping 사용 여부
enable_seqscan
on
sequential-scan plan 사용 여부
enable_sort
on
명시적 sort plan 사용 여부
enable_tidscan
on
TID scan plan 사용 여부

Planner Cost Constants

Parameter
Default Value
Range
Description
cpu_index_tuple_cost
0.005
0~1.79769e+308
Index Scan 동안 각 Index 항목을 처리하는 비용에 대한 추정치
cpu_operator_cost
0.0025
0~1.79769e+308
각 연산자나 함수 호출을 처리하는 비용에 대한 추정치
cpu_tuple_cost
0.01
0~1.79769e+308
각 tuple(row)를 처리하는 비용에 대한 추정치
effective_cache_size
524288 (4GB)
1(8kB)~2147483647 (17179869176kB)
Data cache의 총 크기에 대한 가정(assumption)
jit_above_cost
100000
-1~1.79769e+308
지정값 보다 쿼리 비용이 더 많이 발생할 경우 JIT 컴파일 수행 -1 ⇒ disable
jit_inline_above_cost
500000
-1~1.79769e+308
지정값 보다 쿼리 비용이 더 많이 발생할 경우 JIT inlining 수행 -1 ⇒ disable
jit_optimize_above_cost
500000
-1~1.79769e+308
지정값 보다 쿼리 비용이 더 많이 발생할 경우 JIT 컴파일 함수를 최적화 -1 ⇒ disable
min_parallel_index_scan_size
64(512kB)
0~715827882 (5726623056kB)
parallel scan을 위한 인덱스 데이터 최소 양
min_parallel_table_scan_size
1024(8MB)
0~715827882 (5726623056kB)
parallel scan을 위한 테이블 데이터 최소 양
parallel_setup_cost
1000.0
0~1.79769e+308
paralle query를 위한 작업 프로세스 시작 비용에 대한 추정치
parallel_tuple_cost
0.1
0~1.79769e+308
각 tuple(row)를 worker에서 leader backend로 전달하는 비용에 대한 추정치
random_page_cost
4.0
0~1.79769e+308
순차적으로 읽지 않은 Disk page 비용에 대한 추정치
seq_page_cost
1.0
0~1.79769e+308
순차적으로 읽은 Disk page 비용에 대한 추정치
 

Genetic Query Optimizer

Parameter
Default Value
Range
Description
geqo
on
ㅤ
genetic query optimization 활성화 여부
geqo_effort
5
1~10
다른 GEQO 파라미터에 대한 기본값을 설정하는데 사용
geqo_generations
0
0~2147483647
알고리즘의 반복 횟수
geqo_pool_size
0
0~2147483647
집단의 개체 수
geqo_seed
0.0
0.0~1.0
seed for random path selection
geqo_selection_bias
2.0
1.5~2.0
집단 내에 선택압력(selective pressure)
geqo_threshold
12
2~2147483647
GEQO가 사용되는 FROM 항목의 임계값
 

Other Planner Options

Parameter
Default Value
Range
Description
constraint_exclusion
partition
on, off, partition
제약조건을 사용하여 쿼리 최적화 할지 여부 • on : 모든 테이블 제약 조건 검사
cursor_tuple_fraction
0.1
0.0~1.0
검색한 cursor’s rows의 비율 추정치
default_statistics_target
100
1~10000
기본 통계 대상 설정 • 값이 클수록 Analyze를 수행하는 시간은 늘지만, 예상 값을 향상 됨
from_collapse_limit
8
1~2147483647
subquery가 축소(collapsed)되지 않는 FROM 목록의 크기
jit
on
ㅤ
JIT 컴파일 사용 여부
join_collapse_limit
8
1~2147483647
JOIN 구성이 평명화 되지 않는 FROM 목록의 크기 1 ⇒ disable
plan_cache_mode
auto
auto, force_generic_plan, force_custom_plan
사용자 또는 일반 Plan 선택을 제어
 

REPORTING AND LOGGING

Where to Log

Parameter
Default Value
Range
Description
event_source
PostgreSQL
ㅤ
이벤트 로그에서 메시지 식별자 키워드(Windows용)
log_destination
stderr
stderr, csvlog, syslog, eventlog
• 서버 로그 출력 대상을 설정합니다. • PostgreSQL은 stderr, csvlog 및 syslog를 포함하여 서버 메시지를 기록하는 여러 방법을 지원합니다. (Windows에서는 이벤트 로그도 지원됩니다.)
log_diretory
log
ㅤ
logging_collector 활성화인 경우 로그 파일의 디렉토리를 결정합니다.
log_file_mode
0600
ㅤ
로그 파일에 권한
log_filename
postgresql-%Y-%m-%d_%H%M%S.log
ㅤ
로그 파일 이름 패턴
logging_collector
off
ㅤ
stderr 또는 csvlog로 전송된 로그 메시지를 파일로 캡처하는 하위 프로세스 시작여부를 결정하는 파라미터입니다.
log_rotation_age
1440min (1d)
0~35791394min
설정값(기간) 후 로그파일 순환 0 ⇒ disable
log_rotation_size
10240kB (10MB)
0~2097151kB
설정값(크기) 후 로그파일 순환 0 ⇒ disable
log_truncate_on_rotation
off
ㅤ
로그파일 순환 중 동일 이름의 로그 삭제여부
syslog_facility
local0
local0~7
syslog 설정 시 syslog “facility” 설정
syslog_ident
postgres
ㅤ
syslog에서 메시지 식별자 키워드
syslog_sequence_numbers
on
ㅤ
중복 방지를 위해 syslog 메시지에 시퀀스 번호 추가여부
syslog_split_messages
on
ㅤ
syslog를 줄별로 나누고 1024byte에 분할 할지 여부
 

When to Log

Parameter
Default Value
Range
Description
log_min_duration_sample
-1ms
-1~2147483647ms
문장 샘플이 기록되는 최소 실행 시간. 샘플링은 log_statement_sample_rate에 의해 결정 -1 ⇒ disable , 0 ⇒ all
log_min_duration_statement
-1ms
-1~2147483647ms
모든 문장이 기록되는 최소 실행 시간 -1 ⇒ disable, 0 ⇒ all
log_min_error_statement
error
debug1~5, info, notice, warning, error, log, fatal, panic
설정된 레벨 이상에서 오류를 유발하는 모든 문장 기록
log_min_messages
warning
debug1~5, info, notice, warning, error, log, fatal, panic
기록되는 메시지 레벨 설정
log_statement_sample_rate
1.0
0.0~1.0
실행시간이 log_min_duration_sample을 초과하는 문장을 기록하기 위한 비율 0 ⇒ disable, 1 ⇒ all, 0.5 ⇒ 둘 중 하나만 기록
log_transaction_sample_rate
0.0
0.0~1.0
모든 문장을 기록할 트랜잭션의 비율 0 ⇒ disable, 1 ⇒ all
 

What to Log

Parameter
Default Value
Range
Description
debug_pretty_print
on
ㅤ
들여쓰기 구문 분석 및 plan 트리 표시 여부
debug_print_parse
off
ㅤ
각 쿼리의 구문 분석 트리 기록 여부
debug_print_plan
off
ㅤ
각 쿼리의 실행계획 기록 여부
debug_print_rewritten
off
ㅤ
각 쿼리의 재작성된 구문 분석 트리 기록 여부
log_autovacuum_min_duration
-1ms
-1~2147483647ms
[14버전추가] • autovacuum 작업을 로그에 기록할 최소 실행시간을 설정합니다. • log_autovacuum_min_duration를 초과하여 실행되는 경우 로그에 incident로 기록되므로 autovauum 작업 확인에 도움이 되는 파라미터입니다. • -1 : autovauum 작업에 대하여 로그 비활성화 • 0 : 모든 autovauum 작업에 대하여 로그 기록
log_checkpoints
off
ㅤ
각 Checkpoint 기록 여부
log_connections
off
ㅤ
성공한 Connection 로그 기록 여부
log_disconnections
off
ㅤ
세션 종료 로그 기록(지속시간 포함) 여부
log_duration
off
ㅤ
완료된 SQL 문장의 지속시간 기록 여부
log_error_verbosity
default
terse, default, verbose
기록된 메시지의 상세 내용 설정
log_hostname
off
ㅤ
Connection 로그에 host-name 기록 여부
log_line_prefix
%m [%p] %q%u@%d
ㅤ
각 로그 줄에 붙는 접두사 설정
log_lock_waits
off
ㅤ
Long lock wait 시간 기록 여부
log_parameter_max_length
-1
-1~1073741823B
문장을 기록할때, 기록된 파라미터 값을 처음 설정값(Byte)로 제한 0 ⇒ disable, -1 ⇒ full
log_parameter_max_length_on_error
0
-1~1073741823B
오류 보고 시, 기록된 파라미터 값을 처음 설정값(Byte)로 제한 0 ⇒ disable, -1 ⇒ full
log_recovery_conflict_waits
off
ㅤ
[14버전추가] Recovery conflicts에 대해 시작 프로세스가 deadlock_timeout 보다 오래 대기 할 때 메시지를 생성할지 여부
log_replication_commands
off
ㅤ
각 복제 명령어 기록 여부
log_statement
none
none, ddl, mod, all
기록되는 문장의 유형 설정
log_temp_files
-1kB
-1~2147493647kB
설정 값보다 큰 임시 파일의 사용하여 기록 -1 ⇒ disable, 0 ⇒ all
log_timezone
Etc/UTC
ㅤ
ㅤ
 

PROCESS TITLE

Parameter
Default Value
Range
Description
cluster_name
14/main
ㅤ
프로세스에 포함된 클러스터의 이름 설정
update_process_title
on
ㅤ
Active SQL 명령문을 표시하도록 프로세스 제목 업데이트 여부
 

STATISTICS

Query and Index Statistics Collector

Parameter
Default Value
Range
Description
stats_temp_directory
/var/run/postgresql/14-main.pg_stat_tmp
ㅤ
• 통계정보를 위한 임시 저장 경로를 나타냅니다.(상대 또는 절대 경로) • 이 파일은 초당 수백번 업데이트되기 때문에 RAM 기반의 파일 시스템으로 설정하면 물리적 IO 요구사항을 줄여서 성능을 향상시킬 수 있습니다. • 서버가 완전히 종료되면 통계 데이터의 복사본이 pg_stat 하위 디렉토리에 영구적으로 저장되므로 서버를 다시 시작해도 통계는 유지됩니다.
track_activities
on
ㅤ
• 세션에 대한 통계정보 수집 기능을 사용할지 여부를 나타냅니다.(수퍼유저만 설정 변경 가능) • 각 세션의 현재 실행 중인 command에 대한 정보와 실행 시작 시간을 수집합니다. • 수퍼유저 및 세션을 소유한 사용자만 해당 정보를 확인할 수 있습니다.
track_activity_query_size
1024B
100~1048576B
• 각 active session에서 현재 실행된 command(pg_stat_activity.query)를 수집에 사용되는 바이트 수를 설정합니다. • pg_stat_activity, pg_stat_statements 에서 쿼리를 잘라내기 위한 임계치로 사용합니다.
track_counts
on
ㅤ
• 테이블 및 인덱스 액세스에 대한 통계 수집여부를 설정합니다.(수퍼유저만 설정 변경 가능) • autovacuum 프로세스에서 이 통계정보를 활용해서 vacuum을 수행하므로 기본적으로 설정 on으로 해당 정보를 수집합니다.
track_functions
none
none, pl, all
• 사용자 정의 function에 대한 통계 정보 수집 파라미터입니다.(수퍼유저만 설정 변경 가능) • function 호출 횟수와 사용시간 등의 정보를 수집합니다. • pl : procedure로 작성된 언어 function만 수집 • all : 모든 SQL 및 C언어 function도 수집 • none : 비활성화
track_io_timing
off
ㅤ
• 데이터베이스 I/O 활동에 대한 타이밍 통계 수집 기능을 사용할지 여부를 나타냅니다.(수퍼유저만 설정 변경 가능) • on으로 설정하면 데이터베이스 시간이 반복적으로 호출되어 데이터베이스에 많은 오버헤드가 추가되기 때문에 기본값은 off입니다.(pg_test_timing 도구를 사용하여 타이밍 오버헤드를 측정할 수 있습니다.)
track_wal_io_timing
off
ㅤ
[14버전추가] WAL I/O 활동에 대한 시간통계 수집 여부
 

Monitoring

Parameter
Default Value
Range
Description
compute_query_id
auto
auto, on, off
[14버전추가] 쿼리 식별자 계산
log_executor_stats
off
ㅤ
Executor 성능 통계를 서버 로그에 기록할지 여부
log_parser_stats
off
ㅤ
Parser 성능 통계를 서버 로그에 기록할지 여부
log_planner_stats
off
ㅤ
Planner 성능 통계를 서버 로그에 기록할지 여부
log_statement_stats
off
ㅤ
서버 로그에 누적 성능 통계를 기록할지 여부
 

AUTOVACUUM

Parameter
Default Value
Range
Description
autovacuum
on
ㅤ
• autovacuum subprocess(autovacuum launcher daemon)를 시작할지 설정합니다.(해당 파라미터의 default 값은 on이지만 autovauum를 작동하려면 track_counts도 활성화해야 합니다.) • off 로 설정해도 필요한 경우 시스템이 autovauum 프로세스를 시작합니다. • table storage 파라미터를 변경하여 개별 테이블에 대해 autovacuum 기능을 사용하지 않도록 설정할 수 있습니다.
autovacuum_analyze_scale_factor
0.1
0.0~100.0
ANALYZE 트리거 여부를 결정할 때, autovacuum_analyze_threshold에 추가할 테이블 크기의 비율
autovacuum_analyze_threshold
50
0~2147483647
ANALYZE 트리거하는데 필요한 insert, update, delete tuple의 최소 수
autovacuum_freeze_max_age
200,000,000
100,000 ~2,000,000,000
• autovacuum 이 강제로 실행되어야 하는 트랜잭션ID의 상한값을 설정합니다.(table storage 파라미터를 변경하여 개별 테이블에 대해 설정을 줄일 수 있습니다.) • autovacuum이 비활성화된 경우에도 해당 값을 초과하면 autovacuum 프로세스를 시작합니다.
autovacuum_max_workers
3
1~262143
• 한번에 실행할 수 있는 autovacuum worker 프로세스의 최대 수 를 설정합니다. • autovacuum worker 프로세스는 개별로 cpu, memory, I/O를 사용합니다.
autovacuum_multixact_freeze_max_age
400000000
10000~2000000000
테이블 내에서 multixact ID wraparound를 방지하기 위해 vacuum이 강제 실행되기 전 테이블의 pg_class.relminmxid 필드가 도달할 수 있는 최대 수
autovacuum_naptime
60s
1~2147483s
• autovacuum 실행 사이의 sleep time 을 지정합니다. • 주기마다 deamon이 데이터베이스를 확인해서 VACUUM & ANALYZE가 필요한 경우 해당 command를 실행합니다.
autovacuum_vacuum_cost_delay
2ms
-1~100ms
• autovacuum 작업에 사용될 cost 지연 값을 지정합니다.(-1이며 vacuum_cost_delay 값을 대신 사용) • autovacuum_vacuum_cost_limit 값을 초과하면 autovacuum_vacuum_cost_delay 설정만큼의 지연이 발생합니다.
autovacuum_vacuum_cost_limit
-1
-1~10000
• autovacuum 작업에 사용될 비용 제한 값을 지정합니다.(-1이면 vacuum_cost_limit 값을 대신 사용) • autovacuum workers 간에 비례적으로 분배되므로 각 worker 프로세스에 대한 limit 의 합계가 이 파라미터 값을 초과하지 않습니다.
autovacuum_vacuum_insert_scale_factor
0.2
0.0~100.0
Vacuum을 트리거할지 여부를 결정할때 autovacuum_vacuum_insert_threshold에 추가할 테이블 크기의 비율
autovacuum_vacuum_insert_threshold
1000
-1~2147483647
VACUUM을 트리거하는 데 필요한 insert tuple의 수 -1 ⇒ disable (insert 기반으로 vacuum을 트리거 하지 않음)
autovacuum_vacuum_scale_factor
0.2
0~100
• autovacuum 이전에 업데이트 또는 삭제된 tuple 의 수(retuple 비율) • default는 0.2로 테이블 크기의 20%를 초과하는 경우 VACUUM 트리거를 실행합니다.
autovacuum_vacuum_threshold
50
0~2147483647
autovacuum 이전에 업데이트 또는 삭제할 tuple 수의 임계값을 나타냅니다.(이 값을 초과할 경우 autovauum/analyze를 각각 수행해야 합니다.)
 

CLIENT CONNECTION DEFAULTS

Statement Behavior

Parameter
Default Value
Range
Description
bytea_output
hex
hex, escape
bytea type에 대한 출력 형식 설정
check_function_bodies
on
ㅤ
CREATE FUNCTION, CREATE PROCEDURE 동안 본문 문자열의 유효성 검사 여부
client_min_messages
notice
debug1~5, log, notice, warning, error
클라이언트에 전송되는 메시지 레벨
default_table_access_method
heap
ㅤ
새로운 테이블에 대한 기본 테이블 액세스 방법을 설정
default_tablespace
ㅤ
ㅤ
테이블과 인덱스를 생성할 기본 테이블스페이스 설정 NULL = default
default_toast_compression
pglz
pglz, lz4
[14버전추가] 데이터 압축 방법 (13버전까지는 pglz만 지원) lz4 압축방법을 사용하기 위해서는 PostgreSQL을 --with-lz4로 빌드해야 함
default_transaction_deferrable
off
ㅤ
새로운 트랜잭션의 default defferrable 상태 설정
default_transaction_isolation
read committed
serializable, repeatable read, read committed, read uncommitted
새로운 트랜잭션의 트랜잭션 분리 수준 설정
default_transaction_read_only
off
ㅤ
새로운 트랜잭션의 기본 읽기 전용 상태 설정
gin_pending_list_limit
4096kB
64~2147493647kB
GIN 인덱스에 대한 보류 중인 목록의 최대 크기
idle_in_transaction_session_timeout
0ms
0~2147493647ms
트랜잭션 중 쿼리 사이에 허용되는 최대 idle 시간 0 ⇒ disable
idle_session_timeout
0ms
0~2147493647ms
[14버전추가] 트랜잭션 중이지 않을때, 쿼리 사이에 허용되는 최대 idle 시간 0 ⇒ disable
lock_timeout
0ms
0~2147483647ms
Lock 대기의 최대 허용 시간 0 ⇒ disable
row_security
on
ㅤ
Row security 사용 여부
search_path
"$user", public
ㅤ
스키마가 지정되지 않은 단순 이름으로 Object를 참조할 때 스키마가 검색되는 순서
session_replication_role
origin
origin, replica, local
트리거 및 재작성 규칙에 대한 세션 동작 설정
statement_timeout
0ms
0~2147493647ms
문장의 최대 허용 기간 설정 0 ⇒ disable
temp_tablespaces
ㅤ
ㅤ
Temp table과 sort file에 사용할 테이블스페이스 설정
vacuum_failsafe_age
1600000000
0~2100000000
[14버전추가] vacuum이 시스템 전체의 트랜잭션ID wraparound 실패를 피하기 위해 특별한 조치를 취하기 전에 테이블의 pg_class.relfrozenxid 필드가 도달할 수 있는 Age
vacuum_freeze_min_age
50,000,000
0~1,000,000,000
Vacuum이 table row를 freeze해야 하는 최소 Age
vacuum_freeze_table_age
150,000,000
0~2,000,000,000
Vacuum이 tuple을 고정하기 위해 전체 테이블을 스캔해야 하는 Age
vacuum_multixact_failsafe_age
1600000000
0~2100000000
[14버전추가] vacuum이 시스템 전체의 multixact ID wraparound 실패를 피하기 위해 특별한 조치를 취하기 전에 테이블의 pg_class.relminmxid필드가 도달할 수 있는 Age
vacuum_multixact_freeze_min_age
5000000
0~1000000000
Vacuum이 table row에서 MultiXactID를 freeze해야 하는 최소 Age
vacuum_multixact_freeze_table_age
150000000
0~2000000000
Vacuum이 tuple을 고정하기 위해 전체 테이블을 스캔해야 하는 Multixact Age
xmlbinary
base64
base64, hex
binary 값을 XML로 인코딩하는 방법 설정
xmloption
content
content, document
암시적 구문 분석 및 직렬화 작업의 XML 데이터를 문서 또는 콘텐츠 조각으로 간주할지 여부
 

Locale and Formatting

Parameter
Default Value
Range
Description
client_encoding
sql_ascii
ㅤ
클라이언트의 문자 집합 인코딩 설정
datestyle
iso, mdy
ㅤ
날짜와 시간 값의 표시 형식 설정
default_text_search_config
pg_catalog.english
ㅤ
기본 텍스트 검색 구성 설정
extra_float_digits
1
-15~3
부동 소수점으로 표시되는 자릿수 설정
intervalstyle
postgres
postgres, postgres_verbose, sql-standard, iso_8601
Interval Value의 표시 형식 설정
lc_messages
en_US.UTF-8
ㅤ
메시지가 표시되는 언어 설정
lc_monetary
C
ㅤ
화폐 금액의 형식 설정
lc_numeric
en_US.UTF-8
ㅤ
숫자 형식 설정
lc_time
en_US.UTF-8
ㅤ
날짜와 시간 형식 설정
timezone
GMT
ㅤ
Timestamp를 표시하고 해석하기 위한 시간대 설정
timezone_abbreviations
Default
ㅤ
시간대 약어파일 선택

Shared Library Preloading

Parameter
Default Value
Range
Description
jit_provider
llvmjit
ㅤ
사용하고자 하는 JIT Provider
local_preload_libraries
ㅤ
ㅤ
각 backend에서 미리 로드할 권한이 없는 공유 라이브러리 나열
session_preload_libraries
ㅤ
ㅤ
각 backend에 미리 로드할 공유라이브러리 나열
shared_preload_libraries
ㅤ
ㅤ
서버에 미리 로드할 공유 라이브러리 나열
 

Other Defaults

Parameter
Default Value
Range
Description
dynamic_library_path
$libdir
ㅤ
동적으로 로드할 수 있는 모듈의 경로
extension_destdir
ㅤ
ㅤ
extension 로드를 위해 추가할 경로
gin_fuzzy_search_limit
0
0~2147483647
GIN에 의한 정확한 검색을 위해 허용되는 최대 결과 설정
 

LOCK MANAGEMENT

Parameter
Default Value
Range
Description
deadlock_timeout
1000ms
1~2147483647ms
deadlock 상태를 확인하기 전 Lock 대기하는 시간
max_locks_per_transaction
64
10~2147483647
트랜잭션당 최대 Lock 수 max_locks_per_transaction * (max_connections + max_prepared_transactions)
max_pred_locks_per_page
2
0~2147483647
Page당 predicate-locked tuple 최대 수
max_pred_locks_per_relation
-2
-2147483648 ~2147483647
Relation당 predicate-locked page 와 tuple의 최대 수 0≤ ⇒ 제한 값, 0> ⇒ max_pred_locks_per_transaction / abs(설정값)
max_pred_locks_per_transaction
64
10~2147483647
트랜잭션당 최대 Predicate Lock 수 max_pred_locks_per_transaction * (max_connections + max_prepared_transactions)
 

VERSION AND PLATFORM COMPATIBILITY

Previous PostgreSQL Versions

Parameter
Default Value
Range
Description
array_nulls
on
ㅤ
배열에서 NULL 요소 입력 활성화 여부
backslash_quote
safe_encoding
on, off, safe_encoding
문자열 Literal에서 “\” 허용 여부
escape_string_warning
on
ㅤ
일반 문자열 Literal에서 ”\”에 대한 경고 여부. on ⇒ Literal에 표시, standard_conforming_strings=off 경우 경고 발생
lo_compat_privileges
off
ㅤ
큰 Object에 대한 권한 검사를 위해 이전 버전과의 호환성 모드 활성화 여부
quote_all_identifiers
off
ㅤ
SQL 조각을 만들때, 모든 식별자를 인용할지 여부
standard_conforming_strings
on
ㅤ
‘...’ 문자열이 “\”를 문자 그대로 처리하도록 할지 여부
synchronize_seqscans
on
ㅤ
동기화된 sequential scan 활성화 여부

Other Platforms and Clients

Parameter
Default Value
Range
Description
transform_null_equals
off
ㅤ
“expr=NULL”을 “expr IS NULL”로 처리 할지 여부

ERROR HANDLING

Parameter
Default Value
Range
Description
data_sync_retry
off
ㅤ
데이터 파일 동기화 실패 후 계속 실행할지 여부
exit_on_error
off
ㅤ
오류 발생 시 세션 종료 여부
recovery_init_sync_method
fsync
fsync, syncfs
[14버전추가] Crash Recovery전에 데이터 디렉토리를 동기화하는 방법 설정
restart_after_crash
on
ㅤ
Backend crash 후 서버 초기화 할지 여부
 
 

 
 
함께 보면 좋은 아티클
PostgreSQL 참고자료 - Configuration File: pg_hba.conf | 엑셈
PostgreSQL 참고자료 - Configuration File: pg_hba.conf | 엑셈
https://ex-em.com/ko/academy/configuration-file-pg_hba.conf
PostgreSQL 참고자료 - Configuration File: pg_hba.conf | 엑셈
Table of Contents
FILE LOCATIONSCONNECTIONS AND AUTHENTICATIONConnection SettingsTCP settingsAuthenticationSSLRESOURCE USAGE (except WAL)MemoryDiskKernel ResourcesCost-Based Vacuum DelayBackground WriterAsynchronous BehaviorWRITE-AHEAD LOGSettingsCheckpointsArchivingArchive RecoveryRecovery TargetREPLICATIONSending ServersPrimary Server (under 13 : Master Server)Standby ServersSubscribersQUERY TUNINGPlanner Method ConfigurationPlanner Cost ConstantsGenetic Query OptimizerOther Planner OptionsREPORTING AND LOGGINGWhere to LogWhen to LogWhat to LogPROCESS TITLESTATISTICSQuery and Index Statistics CollectorMonitoringAUTOVACUUMCLIENT CONNECTION DEFAULTSStatement BehaviorLocale and FormattingShared Library PreloadingOther DefaultsLOCK MANAGEMENTVERSION AND PLATFORM COMPATIBILITYPrevious PostgreSQL VersionsOther Platforms and ClientsERROR HANDLING