2025 년 9 월 25 일 :사설 토토 18 릴리스!
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다윈 토토 : 문서 : 17 : 19 장 서버 구성버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

16.4. 런타임 구성

데이터베이스 시스템의 동작. 이 하위 섹션에서는 설명합니다 구성 매개 변수를 설정하는 방법; 다음 하위 섹션 각 매개 변수에 대해 자세히 논의하십시오.

모든 매개 변수 이름은 대소 문자를 사설 토토하지 않습니다. 모든 매개 변수 부울, 정수, 네 가지 유형 중 하나의 값을 취합니다. 플로팅 포인트 및 끈. 부울 값은on, OFF, true, 거짓, , 아니오, 1, 0(사례에 민감하지 않음) 또는 이들의 부정확 한 접두사.

이러한 매개 변수를 설정하는 한 가지 방법은 파일을 편집하는 것입니다사설 토토.conf데이터 디렉토리에서. (기본 파일은입니다 거기에 설치되었습니다.)이 파일의 모습의 예. 이다:

# 이것은 주석입니다
log_connections = 예입니다
syslog = 2
search_path = '$ user, public'

하나의 매개 변수는 한 줄에 지정됩니다. 사이의 동일한 부호 이름과 값은 선택 사항입니다. 공백은 무의미하고 비어 있습니다 줄은 무시됩니다. 해시 마크 (#) 어디서나 의견을 소개합니다. 간단하지 않은 매개 변수 값 식별자 또는 숫자는 단일 인용해야합니다.

구성 파일 될 때마다 다시 읽습니다.Postmaster프로세스를 수신합니다Sighup신호 (이를 통해 가장 쉽게 전송됩니다pg_ctl Reload). 그만큼Postmaster또한 이 신호를 현재 실행중인 모든 서버 프로세스로 전파합니다 기존 세션도 새로운 가치를 얻습니다. 또는 신호를 단일 서버 프로세스로 직접 보낼 수 있습니다.

이러한 구성 매개 변수를 설정하는 두 번째 방법은 제공하는 것입니다. 그것들은 명령 줄 옵션으로Postmaster:

postmaster -c log_connections = 예 -c syslog = 2

명령 줄 옵션에서 충돌하는 설정을 무시합니다사설 토토.conf.

때때로 명령 줄 옵션을 제공하는 것이 유용합니다. 하나의 특정 세션에만. 환경 변수pgoptions이 목적으로 사설 토토될 수 있습니다 클라이언트 측 :

Env Pgoptions = '-C geqo = Off'PSQL

libpq-기반 클라이언트 응용 프로그램은PSQL.) 이것은 작동하지 않습니다 서버가 시작될 때 고정 된 매개 변수의 경우 : 포트 번호.

또한 옵션 설정 세트를 할당 할 수 있습니다. 사설 토토자 또는 데이터베이스에. 세션이 시작될 때마다 관련된 사설 토토자 및 데이터베이스의 기본 설정이로드됩니다. 명령Alter Database사설 토토자는 각각 익숙해집니다 이러한 설정을 구성하십시오. 다이타베이스 매개 설정은 무엇이든 상호입니다 에서받은Postmaster명령 줄 또는 구성 파일 사설 토토자 당 설정으로 재정의; 둘 다 상정됩니다 세션 당 옵션.

일부 매개 변수는 개인에서 변경할 수 있습니다SQL세션set명령, 예 :

ENABLE_SEQSCAN을 OFF로 설정하십시오;

ifSET허용됩니다 매개 변수에 대한 다른 값 소스. 슈퍼업자가 허용됩니다 에게SET평범한 것보다 더 많은 값 사설 토토자.

the토토 커뮤니티 : 문서 : 7.4 : show명령 허용 모든 매개 변수의 현재 값 검사.

가상 테이블pg_settings( 설명범퍼카 토토 : 문서 : 7.4 : pg_settings) 또한 세션 런타임 매개 변수를 표시하고 업데이트 할 수 있습니다. 에 해당합니다.showandSET, 그러나 사설 토토하기에 더 편리 할 수 ​​있습니다. 다른 테이블과 결합하거나 사설 토토하여 선택할 수 있습니다. 원하는 선택 조건.

16.4.1. 연결 및 입증

16.4.1.1. 연결 설정

tcpip_socket (부울)

이것이 사실이라면 서버가 TCP/IP를 수락합니다. 사이.그렇지 않으면 로컬 유닉스 도메인 소켓 연결 만 있습니다 받아 들여졌다. 기본적으로 꺼져 있습니다. 이 옵션 은만 가능합니다 서버 시작에서 설정합니다.

max_connections (Integer)

최대 동시 수를 결정합니다 데이터베이스 서버에 대한 연결. 기본값은입니다 일반적으로 100이지만 커널 설정이 더 적을 수 있습니다. 그것을 지원하지 않습니다 (initdb). 이 매개 변수 는만 할 수 있습니다 서버 시작에서 설정해야합니다.

이 매개 변수를 높이면PostgreSQL더 많은 요청System V공유 메모리 또는 운영 체제의 기본값보다 세마포어 구성이 허용됩니다. 보다섹션 16.5.1이 매개 변수를 조정하는 방법에 대한 정보 필요한.

SuperUser_Reserved_Connections (정수)

수를 결정합니다"연결 슬롯"연결PostgreSQL슈퍼 유행자. 최대max_connections연결 동시에 활성화 될 수 있습니다. 숫자가있을 때마다 활성 동시 연결의 적어도max_connections마이너스SuperUser_Reserved_Connections, 새 연결은 수퍼 유행자에게만 허용됩니다.

기본값은 2입니다. 값은 의 값max_connections. 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.

포트 (Integer)

서버가 듣는 TCP 포트; 기본적으로 5432. 이 옵션은 서버 시작시에만 설정할 수 있습니다.

unix_socket_directory (String)

UNIX-Domain 소켓의 디렉토리를 지정합니다 서버가 연결을 듣는 것입니다 클라이언트 응용 프로그램. 기본값은 일반적으로/tmp그러나 빌드시 변경할 수 있습니다 시간.

unix_socket_group (String)

UNIX 도메인 소켓의 그룹 소유자를 설정합니다. (그만큼 소켓의 사설 토토자 소유는 항상 사설 토토자입니다. 서버를 시작합니다.) 옵션과 조합하여unix_socket_permissions이것 추가 액세스 제어 메커니즘으로 사용할 수 있습니다 이 소켓 유형의 경우. 기본적으로 이것은 비어 있습니다 현재의 기본 그룹을 사용하는 String 사설 토토자. 이 옵션은 서버 시작시에만 설정할 수 있습니다.

unix_socket_permissions (Integer)

UNIX 도메인의 액세스 권한을 설정합니다 소켓. UNIX 도메인 소켓은 일반적인 UNIX 파일을 사설 토토합니다 시스템 권한 세트. 옵션 값이 예상됩니다 허용 된 양식의 숫자 모드 사양이어야합니다 에 의해chmodandUmask시스템 호출. (에게 숫자가 시작 해야하는 관례적인 옥탈 형식을 사설 토토하십시오 A와 함께0(0).)

기본 권한은입니다.0777, 누구나 연결할 수 있음을 의미합니다. 합리적인 대안은0770(사설 토토자 및 그룹 만 참조하십시오 아래에unix_socket_group) 및0700(사설 토토자 만). (그 점에 유의하십시오 실제로 UNIX 도메인 소켓의 경우 쓰기 만 쓰십시오 허가 문제이며 설정에 필요한 점이 없습니다. 읽기 또는 실행 권한 취소.)

이 액세스 제어 메커니즘은 독립적입니다 에 설명 된 것)19 장.

이 옵션은 서버 시작시에만 설정할 수 있습니다.

virtual_host (String)

호스트 이름 또는 IP 주소를 지정합니다. 서버는 클라이언트의 연결을 듣는 것입니다 응용 프로그램. 기본값은 모든 것을 듣는 것입니다 구성된 주소 (포함LocalHost).

rendezvous_name (String)

랑데부 방송 이름을 지정합니다. 기본적으로 컴퓨터 이름은 사설 토토됩니다.

16.4.1.2. 보안 및 입증

Authentication_timeout (Integer)

클라이언트 인증을 완료하는 최대 시간 초. 클라이언트가 완료하지 않은 경우 인증 프로토콜이 시간에 서버 연결을 중단합니다. 이것은 Hung 고객을 방지합니다 무기한 연결을 차지합니다. 이 옵션은 할 수 있습니다 서버 시작 또는에서만 설정됩니다.사설 토토.conf파일. 기본값은입니다 60.

SSL (부울)

활성화SSL연결. 읽어주세요섹션 16.7이것을 사설 토토하기 전에. 기본값이 꺼져 있습니다.

SSL_RENEGOTIATION_LIMIT (Integer)

데이터를 통해 얼마나 많은 데이터가 흐를 수 있는지 지정SSL암호화 세션의 재협상 전 연결 일어나십시오. 세션의 재협상이 감소합니다 많은 양의 암호화 가능성 데이터가 전송되지만 큰 성능도 전달합니다. 패널티. 전송 및받은 트래픽의 합이 사용됩니다 한도를 확인합니다. 매개 변수가 0으로 설정된 경우 재협상이 비활성화되었습니다. 기본값은512MB.

참고 :11 월 이전의 SSL 라이브러리 2009 년은 SSL 재협상을 사용할 때 안전하지 않습니다 SSL 프로토콜의 취약성. a 이 취약점, 일부 공급 업체에 대한 스톱 갭 수정 또한 할 수없는 SSL 라이브러리를 배송했습니다 재협상. 이러한 라이브러리 중 하나라도 사용중인 경우 클라이언트 또는 서버에서 SSL 재협상이 있어야합니다 비활성화됩니다.

password_encryption (부울)

암호가 지정된 경우사설 토토자 만들기또는ALTER 사설 토토자작성하지 않고암호화또는암호화되지 않은,이 옵션은 결정됩니다 암호가 암호화되는지 여부. 기본값은입니다 on (비밀번호 암호화).

KRB_SERVER_KEYFILE (String)

Kerberos 서버 키 파일의 위치를 ​​설정합니다. 보다섹션 19.2.3자세한 내용.

DB_USER_NAMESPACE (부울)

이것은 데이터베이스 별 사설 토토자 이름을 허용합니다. 꺼져 있습니다 기본.

이것이 켜져 있으면 사설 토토자를 생성해야합니다.username@dbname. 언제사설 토토자 이름연결이 통과됩니다 고객,@및 데이터베이스 이름은 사설 토토자 이름으로 추가됩니다 데이터베이스 별 사설 토토자 이름은 서버에서 조회됩니다. 이름이 포함 된 사설 토토자가있는 사설 토토자를 만들 때@SQL 환경 내에서, 사설 토토자 이름을 인용해야합니다.

이 옵션을 활성화하면 여전히 생성 할 수 있습니다 일반적인 글로벌 사설 토토자. 간단히 부록@고객. 그만큼@제거됩니다 사설 토토자 이름이 섬기는 사람.

참고 :이 기능은 a입니다 완전한 솔루션이 될 때까지 임시 측정 설립하다. 그 당시이 옵션이 될 것입니다 제거됨.

16.4.2. 자원 소비

16.4.2.1. 메모리

shared_buffers (정수)

데이터베이스 서버. 기본값은 일반적으로 1000이지만 5 월입니다 커널 설정이 지원하지 않으면 더 적습니다 ( 결정initdb). 각 버퍼는 8192입니다 다른 값이 아니라면 바이트,blcksz를 만들 때 선택되었습니다 섬기는 사람. 이 설정은 16 이상이어야합니다. 적어도 값의 두 배max_connections; 그러나 설정 최소값보다 훨씬 높습니다 좋은 성능을 위해 필요합니다. 수천의 가치 생산 설치에 권장됩니다. 이것 옵션은 서버 시작에서만 설정할 수 있습니다.

이 매개 변수를 늘리면PostgreSQL더 많은 요청System V공유 메모리 운영 체제의 기본 구성보다 허용. 보다섹션 16.5.1이 매개 변수를 조정하는 방법에 대한 정보 필요한.

Sort_mem (Integer)

사용할 메모리의 양을 지정합니다 내부 정렬 작업 및 해시 테이블 이전 임시 디스크 파일로 전환. 가치는입니다 킬로 바이트로 지정되고 기본값은 1024 킬로 바이트로 지정됩니다 (1 MB). 복잡한 쿼리의 경우 여러 종류 또는 해시 운영이 병렬로 실행 중일 수 있습니다. 매개 이 값만큼 많은 메모리를 사용할 수 있습니다. 데이터를 임시로 시작하기 전에 지정합니다 파일. 또한 여러 달리기 세션이 이루어질 수 있습니다 작업을 동시에 정렬하십시오. 그래서 총 기억 사용 된 것은 여러 번이 될 수 있습니다.Sort_mem. 정렬 작업은에 의해 사설 토토됩니다.주문 by, 합병 결합 및색인 생성. 해시 테이블입니다 해시 조인, 해시 기반 집계 및 해시 기반 처리in하위 쿼리. 왜냐하면​​생성 색인데이터베이스를 복원 할 때 사설 토토됩니다. 증가Sort_mem전 대규모 복원 작업을 수행하면 향상 될 수 있습니다 성능.

Vacuum_mem (Integer)

|진공추적하려면 재고 한 행. 값은 지정되어 있습니다 킬로 바이트 및 기본값은 8192 KB입니다. 더 큰 설정이있을 수 있습니다 큰 테이블을 진공 청소기 진공 상태로 향상시킵니다 많은 삭제 된 행.

16.4.2.2. 여유 공간 지도

max_fsm_pages (정수)

무료 디스크 페이지 수를 설정합니다. 공간은 공유 프리 스페이스 맵에서 추적됩니다. 육 각 페이지 슬롯마다 공유 메모리의 바이트가 소비됩니다. 이 설정은 16 * 이상이어야합니다.max_fsm_relations. 기본값은 20000입니다. 이 옵션은 서버 시작시에만 설정할 수 있습니다.

max_fsm_relations (정수)

최대 관계 수를 설정합니다 (표 및 여유 공간이 추적 될 인덱스) 공유 무료 공간지도. 약 50 바이트의 공유 각 슬롯마다 메모리가 소비됩니다. 기본값은 1000입니다. 이 옵션은 서버 시작시에만 설정할 수 있습니다.

16.4.2.3. 커널 리소스 용법

max_files_per_process (Integer)

동시에 열린 파일의 최대 수를 설정합니다 각 서버 하위 프로세스에 허용됩니다. 기본값은 1000입니다. 커널이 프로세스 당 안전한 한계를 시행하는 경우 이 설정에 대해 걱정할 필요가 없습니다. 그러나 일부에 플랫폼 (특히 대부분의 BSD 시스템)은 커널이 있습니다 개별 프로세스가 더 많은 파일을 열 수 있도록합니다 많은 수의 프로세스는 모두 많은 파일을 열려고합니다. 당신이 찾으면 너 자신"너무 많은 개방 파일 "실패,이 설정을 줄이십시오. 이것 옵션은 서버 시작에서만 설정할 수 있습니다.

preload_libraries (String)

이 변수는 하나 이상의 공유 라이브러리를 지정합니다 서버 시작시 전부해야합니다. 에이 매개 변수가없는 초기화 함수는 선택적으로 될 수 있습니다 각 라이브러리를 요구합니다. 이를 지정하려면 결장을 추가하십시오 그리고 초기화 기능의 이름 도서관 이름. 예를 들어'$ libdir/mylib : mylib_init'원인mylib사전로드 및mylib_init실행됩니다. 만약에 둘 이상의 라이브러리를로드하고 분리해야합니다. 쉼표가있는 이름.

ifmylib또는mylib_init서버를 찾을 수 없습니다 시작하지 못할 것입니다.

PostgreSQL절차 적 언어 라이브러리가 사전로드 될 수 있습니다 일반적으로 구문을 사설 토토하여'$ libdir/plxxx : plxxx_init'어디xxxisPGSQL, Perl, TCL또는Python.

공유 라이브러리를 사전로드하여 (초기화) 해당되는 경우), 라이브러리 시작 시간을 피합니다 라이브러리가 처음 사설 토토될 때. 그러나 시간 각각의 새로운 서버 프로세스를 시작하면더라도 증가 할 수 있습니다 그 과정은 도서관을 사설 토토하지 않습니다.

16.4.3. 미리 로그 작성

참조메이저 토토 사이트 : 문서 : 7.4 : WAL 메이저 토토 사이트WAL 튜닝에 대한 자세한 내용.

16.4.3.1. 설정

fsync (부울)

이 옵션이 켜져 있으면PostgreSQL서버를 사설 토토합니다fsync ()시스템 호출 업데이트가 물리적으로 있는지 확인하기위한 여러 곳 디스크에 작성되었습니다. 이것은 데이터베이스 클러스터를 보장합니다 운영 후 일관된 상태로 복구됩니다 시스템 또는 하드웨어 충돌. (데이터베이스의 충돌 서버 자체는not이와 관련하여)

그러나 사설 토토fsync ()성과 페널티가 발생합니다. 거래가있을 때 헌신적인,PostgreSQL운영 체제가 플러시 될 때까지 기다려야합니다 디스크에 쓰기 로그를 쓰십시오. 언제fsync운영 체제 인 비활성화되었습니다 버퍼링, 주문 및 글을 지연시킵니다. 이것은 크게 발생할 수 있습니다 개선 된 성능. 그러나 시스템이 충돌하면 마지막 몇 개의 커밋 된 거래 결과는 가능합니다 부분적으로 또는 전체적으로 길을 잃습니다. 최악의 경우 복구 할 수없는 데이터 손상이 발생할 수 있습니다.

관련된 위험으로 인해 보편적으로는 없습니다 올바른 설정fsync. 일부 관리자는 항상 비활성화fsync, 다른 것들만 꺼집니다 벌크 하중,이 경우 명확한 재시작 지점이있는 경우 일부 관리자는 문제가 발생합니다 항상 떠나fsync활성화. 기본값은 활성화하는 것입니다fsync, 최대 신뢰성. 당신이 운영 체제, 하드웨어 및 귀하의 유틸리티 회사 (또는 배터리 백업) 장애 고려fsync.

이 옵션은 서버 시작 또는 그만큼사설 토토.conf파일.

Wal_sync_method (String)

WAL 업데이트를 디스크로 강제하는 데 사설 토토되는 방법. 가능한 값은fsync(Callfsync ()각각 저지르다),fdatasync(Callfdatasync ()각각 저지르다),Open_Sync(WAR WAL 가있는 파일Open ()옵션O_SYNC) 및Open_DatasyncOpen ()옵션O_DSYNC). 이러한 모든 선택이 아닙니다 모든 플랫폼에서 사용할 수 있습니다. 이 옵션은 설정할 수 있습니다 서버 시작 또는사설 토토.conf파일.

Wal_buffers (정수)

WAL의 공유 메모리에 디스크 페이지 버퍼 수 벌채 반출. 기본값은 8입니다.이 옵션 만 설정할 수 있습니다. 서버 시작시.

16.4.3.2. 검문소

Checkpoint_segments (정수)

자동 WAL 체크 포인트 간의 최대 거리, 로그 파일 세그먼트에서 (각 세그먼트는 일반적으로 16입니다 메가 바이트). 기본값은 3입니다. 이 옵션 은만 할 수 있습니다 서버 시작 또는에서 설정해야합니다.사설 토토.conf파일.

Checkpoint_Timeout (Integer)

자동 WAL 체크 포인트 간의 최대 시간, IN 초. 기본값은 300 초입니다. 이 옵션은 할 수 있습니다 서버 시작 또는에서만 설정됩니다.사설 토토.conf파일.

Checkpoint_warning (정수)

체크 포인트 인 경우 서버 로그에 메시지를 작성하십시오 체크 포인트 세그먼트 파일의 채우기에 의해 발생합니다 이 초보다 더 자주 발생합니다. 기본값은 30 초입니다. 0이 꺼집니다 경고.

Commit_Delay (Integer)

커밋 레코드를 작성하는 사이의 시간 지연 WAL 버퍼 및 버퍼를 디스크로 플러시합니다. 마이크로 초. 0이 아닌 지연으로 인해 여러 가지가 허용됩니다 하나만 커밋 할 거래fsync ()시스템로드 인 경우 시스템 호출 추가 거래가 준비 될 수 있습니다 주어진 간격 내에서 커밋합니다. 그러나 지연은입니다 다른 거래가 준비되지 않으면 낭비됩니다 저지르다. 따라서 지연은 AT 인 경우에만 수행됩니다 최소Commit_Siblings기타 트랜잭션은 서버의 순간에 활성화됩니다 프로세스는 커밋 기록을 작성했습니다. 기본값은입니다 0 (지연 없음).

Commit_Siblings (Integer)

동시 공개 트랜잭션의 최소 수 수행하기 전에Commit_Delay지연. 더 큰 가치가 만듭니다 적어도 하나의 다른 거래 일 가능성이 높습니다 지연 간격 동안 커밋 할 준비가됩니다. 기본값은 5입니다.

16.4.4. 쿼리 계획

16.4.4.1. 플래너 방법 구성

참고 :이 구성 매개 변수는 a 선택한 쿼리 계획에 영향을 미치는 원유 방법 쿼리 최적화기. 기본 계획이 특정 쿼리에 대한 최적화는 최적이 아닙니다 이 중 하나를 사설 토토하여 임시 솔루션을 찾을 수 있습니다. 최적화를 선택하도록 구성 매개 변수 더 나은 계획. 품질을 향상시키는 다른 방법 최적화기가 선택한 계획에는 구성이 포함됩니다.플래너 비용 상수, running분석더 자주 증가하고 증가합니다 특정에 대해 수집 된 통계량 사설 토토 열알터 테이블 세트 통계.

enable_hashagg (부울)

쿼리 플래너의 사용을 활성화 또는 비활성화합니다 해시 응집 계획 유형. 기본값이 켜져 있습니다. 이것 쿼리 플래너 디버깅에 사용됩니다.

enable_hashjoin (부울)

쿼리 플래너의 사용을 활성화 또는 비활성화합니다 해시-조인 플랜 유형. 기본값이 켜져 있습니다. 이것은 사용됩니다 쿼리 플래너 디버깅.

enable_indexscan (부울)

쿼리 플래너의 사용을 활성화 또는 비활성화합니다 인덱스 스캔 계획 유형. 기본값이 켜져 있습니다. 이것은 사용됩니다 쿼리 플래너 디버깅.

enable_mergejoin (부울)

쿼리 플래너의 사용을 활성화 또는 비활성화합니다 병합-조명 계획 유형. 기본값이 켜져 있습니다. 이것은 사용됩니다 쿼리 플래너 디버깅.

enable_nestloop (부울)

쿼리 플래너의 사용을 활성화 또는 비활성화합니다 중첩 루프 가입 계획. 억제하는 것은 불가능합니다 중첩 루프는 완전히 결합하지만이 변수를 돌립니다 Off Off Planner가있는 경우 플래너를 사용하지 못하게합니다. 사용 가능한 다른 방법. 기본값이 켜져 있습니다. 이것은 쿼리 플래너 디버깅에 사용됩니다.

enable_seqscan (부울)

쿼리 플래너의 사용을 활성화 또는 비활성화합니다 순차적 스캔 계획 유형. 불가능합니다 순차적 스캔을 완전히 억제하지만 이것을 돌리십시오 변수 OFF는 플래너가 IF를 사용하지 못하게합니다 사용 가능한 다른 방법이 있습니다. 기본값이 켜져 있습니다. 이것은 쿼리 플래너를 디버깅하는 데 사용됩니다.

enable_sort (부울)

쿼리 플래너의 사용을 활성화 또는 비활성화합니다 명백한 정렬 단계. 억제하는 것은 불가능합니다 명백한 분류는 완전히 분류되지만이 변수를 끄십시오 플래너가있는 경우 플래너가 하나를 사용하지 못하게합니다 사용 가능한 다른 방법. 기본값이 켜져 있습니다. 이것은 쿼리 플래너 디버깅에 사용됩니다.

enable_tidscan (부울)

쿼리 플래너의 사용을 활성화 또는 비활성화TID스캔 계획 유형. 기본값이 켜져 있습니다. 쿼리 디버깅에 사설 토토됩니다 입안자.

16.4.4.2. 플래너 비용 상수

참고 :불행히도 잘 정의되지 않았습니다 가족을위한 이상적인 값을 결정하는 방법"비용"나타나는 변수 아래에. 당신은 실험하고 공유하는 것이 좋습니다 결과.

explud_cache_size (플로팅 포인트)

효과에 대한 플래너의 가정을 설정합니다 디스크 캐시의 크기 (즉, 사설 토토될 커널 디스크 캐시PostgreSQL데이터 파일). 이것은 일반적으로 8192 바이트 인 디스크 페이지에서 측정됩니다 각. 기본값은 1000입니다.

random_page_cost (플로팅 포인트)

쿼리 플래너의 비용에 대한 추정치를 설정합니다. 비 순차적으로 가져온 디스크 페이지. 이것은 다음과 같이 측정됩니다 순차 페이지 페치 비용의 배수. 에이 값이 높을수록 순차적 스캔 가능성이 높아집니다 더 낮은 값으로 사용될 것입니다. 인덱스 스캔이 사용됩니다. 기본값은 4입니다.

CPU_TUPLE_COST (플로팅 포인트)

쿼리 플래너의 비용 추정치를 설정합니다 쿼리 중에 각 행을 처리합니다. 이것은 다음과 같이 측정됩니다 순차 페이지 페치 비용의 일부. 그만큼 기본값은 0.01입니다.

cpu_index_tuple_cost (플로팅 포인트)

쿼리 플래너의 비용 추정치를 설정합니다 인덱스 스캔 중 각 인덱스 행을 처리합니다. 이것은 순차 페이지 비용의 일부로 측정 술책. 기본값은 0.001입니다.

cpu_operator_cost (플로팅 포인트)

비용에 대한 플래너의 추정치를 설정합니다 각 연산자 처리여기서절. 이것은 a로 측정됩니다 순차 페이지 페치 비용의 일부. 그만큼 기본값은 0.0025입니다.

16.4.4.3. 유전자 쿼리 Optimizer

geqo (부울)

유전자 쿼리 최적화 활성화 또는 비활성화, 이것은 쿼리를 시도하는 알고리즘입니다 철저한 검색없이 계획. 이것은 켜져 있습니다 기본. 다양한 기타 참조geqo_설정.

geqo_threshold (Integer)

유전자 쿼리 최적화를 사설 토토하여 쿼리를 계획하십시오 적어도이 많은 것From항목 관련된. (외부Join구성 수는 단 하나의 것으로 카운트From항목.) 기본값은 11입니다. 간단한 쿼리의 경우 일반적으로 사설 토토하는 것이 가장 좋습니다. 결정 론적이고 철저한 플래너이지만 쿼리를위한 것입니다 결정 론적 플래너가 취하는 많은 테이블도 있습니다 긴.

geqo_effort (정수)
geqo_generations (정수)
geqo_pool_size (정수)
geqo_selection_bias (플로팅 포인트)

유전자 쿼리의 다양한 튜닝 매개 변수 최적화 알고리즘 : 풀 크기는 수입니다 한 인구의 개인. 유효한 값은 사이에 있습니다 128 및 1024. 수영장에서 0으로 설정된 경우 (기본값) 2^(QS+1), 여기서 QS는의 수입니다.쿼리의 항목이 가져옵니다. 그만큼 노력은 세대의 기본값을 계산하는 데 사용됩니다. 유효한 값은 1에서 80, 40 사이입니다. 기본. 세대는 반복 수를 지정합니다 알고리즘에서. 숫자는 긍정적이어야합니다 정수. 0이 지정되면노력 * log2 (풀 사이즈)사설 토토됩니다. 달리기 알고리즘의 시간은 대략 비례합니다 수영장 크기와 세대의 합. 선택 바이어스는입니다 인구 내에서의 선택적 압력. 값 1.50 ~ 2.00 일 수 있습니다. 후자는 기본.

16.4.4.4. 다른 플래너 옵션

default_statistics_target (Integer)

테이블 열의 기본 통계 대상을 설정합니다 Q.Alter Table Set Statistics. 값 큰 값이 필요한 시간을 증가시킵니다분석그러나 품질을 향상시킬 수 있습니다 플래너의 추정치. 기본값은 10입니다.

from_collapse_limit (정수)

플래너는 하위 쿼리를 상단으로 병합합니다 쿼리 목록에서 결과가 더 이상 없으면 이 많은 항목보다. 더 작은 값은 계획을 줄입니다 시간이지만 열등한 쿼리 계획을 생성 할 수 있습니다. 기본값은입니다 8. 보통 이것을 덜 덜 유지하는 것이 현명합니다geqo_threshold.

join_collapse_limit (정수)

플래너는 명시 적 내부를 평평하게 할 것입니다Join| 목록으로 구성From더 이상 목록이 없을 때마다 항목 이 것보다 많은 항목이 발생할 것입니다. 일반적으로 이것은 설정됩니다 동일from_collapse_limit. 1로 설정합니다 내부의 평평한 것을 방지Joins, 명시 적 허용Join구문을 제어하는 ​​데 사설 토토됩니다 주문에 가입하십시오. 중간 값은 유용 할 수 있습니다 계획의 질에 대한 계획 시간을 트레이드 오프하십시오.

16.4.5. 오류보고 및 벌채 반출

16.4.5.1. syslog

Syslog (정수)

PostgreSQL허용 사설 토토Syslog벌채 반출. 이 옵션이 1으로 설정되면 메시지는 둘 다됩니다. 에게Syslog및 표준 출력. 2 설정은 출력을에만 보냅니다.Syslog. (일부 메시지 여전히 표준 출력/오류로 이동합니다.) 기본값은 0입니다. 이는 의미Syslog꺼져 있습니다. 이 옵션은이어야합니다 서버 시작에서 설정합니다.

syslog_facility (String)

이 옵션은를 결정합니다.Syslog "시설"로그인 할 때 사설 토토하려면Syslog가 활성화되었습니다. 너 선택할 수 있습니다local0, Local1, Local2, local3, Local4, Local5, Local6, Local7; 기본값은Local0. 참조 시스템 문서Syslog.

syslog_ident (String)

로그에 로깅하는 경우Syslog이 옵션이 활성화되었습니다 식별하는 데 사용되는 프로그램 이름을 결정합니다PostgreSQL메시지에서Syslog로그 메시지. 기본값은Postgres.

16.4.5.2. 로그인시기

client_min_messages (String)

어떤 메시지 레벨이 전송되는지 제어합니다 고객. 유효한 값은Debug5, Debug4, Debug3, Debug2, Debug1, log, 통지, 경고오류. 각 레벨에는 모든 것이 포함됩니다 그것을 따르는 레벨. 나중에 레벨이 적을수록 더 적습니다 메시지가 전송됩니다. 기본값은통지. 참고log여기와 다른 순위가 있습니다log_min_messages.

log_min_messages (String)

어떤 메시지 레벨에 기록되는지 제어합니다 서버 로그. 유효한 값은Debug5, Debug4, Debug3, Debug2, Debug1, Info, 통지, 경고, 오류, log, 치명적panic. 각 레벨에는 모든 것이 포함됩니다 그것을 따르는 레벨. 나중에 레벨이 적을수록 더 적습니다 메시지는 로그로 전송됩니다. 기본값은통지. 참고log여기와 다른 순위가 있습니다client_min_messages. 오직 슈퍼업자는이 옵션을 증가시킬 수 있습니다.

log_error_verbosity (String)

서버에 작성된 세부 사항을 제어합니다 기록 된 각 메시지에 대해 로그를 작성하십시오. 유효한 값은58999_59006, 기본값Verbose, 각각 더 많은 필드를 추가합니다 표시된 메시지.

log_min_error_statement (String)

SQL 진술인지 여부를 제어합니다 원인 오류 조건도 서버 로그. 오류를 일으키는 모든 SQL 문 지정된 레벨 또는 더 높은 레벨이 기록됩니다. 그만큼 기본값은panic(효과적으로 정상적인 사용을 위해이 기능을 끕니다). 유효한 값 이다Debug5, Debug4, Debug3, Debug2, Debug1, Info, 통지, 경고, 오류, 치명적panic. 예를 들어, 이것을 설정하면오류그런 다음 모든 SQL 문 오류, 치명적인 오류 또는 공황을 유발하는 것이 기록됩니다. 이 옵션을 활성화하면 추적에 도움이 될 수 있습니다 서버 로그에 나타나는 오류의 소스. 수퍼 유저만이 옵션을 증가시킬 수 있습니다.

log_min_duration_statement (정수)

최소 명령문 실행 시간을 설정합니다 (in 명령문을 기록 할 수있는 밀리 초). 모든 SQL 지정된 시간에 실행되는 진술 지속 시간에 기록됩니다. 이것을 설정합니다 0은 모든 쿼리와 기간을 인쇄합니다. 마이너스 (기본값)는 이것을 비활성화합니다. 예를 들어, if 당신은 그것을 설정했습니다250그런 다음 모든 SQL 250ms 이상 실행되는 명령문은 기록됩니다. 이 옵션을 활성화하면 추적에 유용 할 수 있습니다 응용 프로그램에서 최적화되지 않은 쿼리. 오직 수퍼 유저는 이것을 증가 시키거나 마이너스로 설정할 수 있습니다. 이 옵션은 관리자가 설정합니다.

Silent_Mode (부울)

서버를 조용히 실행합니다. 이 옵션이 설정되면 서버는 자동으로 백그라운드에서 실행됩니다 터미널 제어는 분리됩니다. 따라서 아니요 메시지는 표준 출력 또는 표준으로 작성됩니다 오류 (과 동일한 효과Postmaster's-s옵션). 하지 않는 한Syslog로깅이 활성화되어 있으며이 옵션을 사용하면 권장하지 않습니다 오류 메시지를 볼 수 없습니다.

여기에 사설 토토 된 다양한 메시지 심각도 수준의 목록이 있습니다. 이 설정에서 :

디버그 [1-5]

개발자가 사용할 정보를 제공합니다.

info

사설 토토자 (예 :진공 말 수가 많은.

통지

사설 토토자에게 도움이 될 수있는 정보를 제공합니다. 예를 들어, 긴 식별자의 잘림 및 생성 기본 키의 일부로 인덱스.

경고

사설 토토자에게 경고를 제공합니다 (예 :커밋트랜잭션 블록 외부.

오류

현재 트랜잭션을 일으킨 오류를보고합니다 중단하려면.

log

관리자에게 관심있는 정보 보고서, 예 : 체크 포인트 활동.

치명적

현재 세션을 초래 한 오류를보고합니다 중단.

panic

모든 세션을 일으킨 오류를보고합니다 중단.

16.4.5.3. 로그인

debug_print_parse (부울)
debug_print_rewritten (부울)
debug_print_plan (부울)
debug_pretty_print (부울)

이 옵션을 사용하면 다양한 디버깅 출력이 가능합니다 클라이언트 또는 서버 로그로 전송됩니다. 실행 된 각각 쿼리, 결과 구문 분석 트리, 쿼리를 인쇄합니다 재 작성자 출력 또는 실행 계획debug_pretty_print이것들을 들여다 더 읽기 쉽지만 훨씬 더 길게 생성하기 위해 디스플레이 출력 형식.client_min_messages또는log_min_messagesDebug1또는 낮은 출력을 보냅니다 클라이언트 또는 서버 로그. 이 옵션은 꺼져 있습니다 기본.

log_connections (부울)

이것은 서버 로그 세부 사항에 라인을 출력합니다 각각의 성공적인 연결. 기본적으로 꺼져 있습니다. 아마도 매우 유용 할 것입니다. 이 옵션은 할 수 있습니다 서버 시작 또는에서만 설정됩니다.사설 토토.conf구성 파일.

log_duration (부울)

완성 된 모든 문의 지속 시간을 유발합니다 기록됩니다. 이 옵션을 사용하려면 활성화log_statementandlog_pid따라서 문을 연결할 수 있습니다 프로세스 ID를 사용한 기간. 기본값이 꺼져 있습니다. 이 옵션만이 옵션을 해제 할 수 있습니다. 관리자가 활성화합니다.

log_pid (부울)

서버 로그 파일의 각 메시지를 접두사합니다 서버 프로세스의 프로세스 ID. 이것은 유용합니다 어떤 메시지가 어떤 연결과 관련된 지 정렬하십시오. 기본값이 꺼져 있습니다. 이 매개 변수는 영향을 미치지 않습니다 로그인 한 메시지Syslog, 항상 프로세스 ID.

log_statement (부울)

각 SQL 문을 기록합니다. 기본값 꺼져 있습니다. 이 옵션만이 옵션을 해제 할 수 있습니다 관리자가 활성화합니다.

log_timestamp (부울)

각 서버 로그 메시지가 타임 스탬프로 접두사를 접두사합니다. 기본값이 꺼져 있습니다.

log_hostname (부울)

기본적으로 연결 로그는 IP 주소 만 표시합니다 연결 호스트의. 호스트를 보여 주려면 이름을 켤 수 있지만 호스트에 따라 이름 해상도 설정은 무시할 수없는 것을 부과 할 수 있습니다 성능 페널티. 이 옵션은에서만 설정할 수 있습니다 서버 시작.

log_source_port (부울)

연결의 발신 포트 번호를 보여줍니다 연결 로그 메시지에서 호스트. 당신은 추적 할 수 있습니다 어떤 사설 토토자가 시작했는지 알아 내기 위해 포트 번호를 뒤로 연결. 그 외에는 꽤 쓸모가 없습니다 따라서 기본적으로 꺼집니다. 이 옵션 은만 가능합니다 서버 시작에서 설정합니다.

16.4.6. 런타임 통계

16.4.6.1. 통계 모니터링

log_statement_stats (부울)
log_parser_stats (부울)
log_planner_stats (부울)
log_executor_stats (부울)

각 쿼리의 경우, 성능 통계를 작성하십시오 서버 로그의 각 모듈. 이것은 원유입니다 프로파일 링 악기. 이러한 모든 옵션은 비활성화됩니다 기본적으로. 슈퍼업자 만이이 중 하나를 끕니다 옵션이 활성화 된 경우 옵션 관리자.

16.4.6.2. 쿼리 및 인덱스 통계 수집가

stats_start_collector (부울)

서버가 시작 해야하는지 제어합니다 통계 수집 하위 프로세스. 이것은 켜져 있습니다 기본값이지만 귀하가 없다는 것을 알고 있으면 꺼질 수 있습니다. 통계 수집에 대한 관심. 이 옵션 은만 할 수 있습니다 서버 시작에서 설정해야합니다.

stats_command_string (부울)

통계 수집을 활성화합니다 현재 각 세션의 명령을 실행하고 있습니다 그 명령이 실행되기 시작한 시간. 이것 기본적으로 옵션이 꺼져 있습니다. 활성화 된 경우에도 이 정보는 모든 사설 토토자에게만 표시되는 것은 아니며 슈퍼업자와 세션을 소유 한 사설 토토자 보고 된; 따라서 보안을 나타내지 않아야합니다 위험. 이 데이터는를 통해 액세스 할 수 있습니다.pg_stat_activity시스템보기; 나타내다 에게토토 베이 : 문서 : 7.4 : 데이터베이스 활동 모니터링더 많은 것 정보.

stats_block_level (부울)
stats_row_level (부울)

이들은 블록 레벨의 컬렉션을 가능하게합니다 데이터베이스 활동에 대한 줄 수준 통계, 각기. 이러한 옵션은 기본적으로 꺼져 있습니다. 이것 데이터에 액세스 할 수 있습니다.PG_STATandPG_STATIO시스템보기 가족; 참조토토 베이 : 문서 : 7.4 : 데이터베이스 활동 모니터링for 더 많은 정보.

stats_reset_on_server_start (부울)

켜져 있다면, 수집 된 통계는 언제든지 제로화됩니다 서버가 다시 시작됩니다. 꺼져 있다면 통계가 있습니다 서버 재시작에 걸쳐 누적됩니다. 기본값이 켜져 있습니다. 이 옵션은 서버 시작시에만 설정할 수 있습니다.

16.4.7. 클라이언트 연결 기본값

16.4.7.1. 성명 행동

search_path (String)

이 변수는 스키마 순서를 지정합니다 객체 (테이블, 데이터 유형, 함수 등)은 스키마 구성 요소. 동일 한 객체가있을 때 다른 스키마의 이름, 첫 번째는 검색 경로가 사용됩니다. 어떤 객체에 있지 않은 개체 검색 경로의 스키마는 참조 할 수 있습니다. 자격을 갖춘 스키마를 지정함으로써 (점선) 이름.

search_path쉼표로 구분 된 스키마 이름 목록이어야합니다. 만약에 목록 항목 중 하나는 특별 값입니다$ user, 그런 다음 이름이있는 스키마입니다 반품session_user그러한 스키마가있는 경우 대체됩니다. (그렇지 않은 경우$ user무시되었습니다.)

시스템 카탈로그 스키마,PG_CATALOG, 항상 검색됩니다 그것은 길에 언급되어 있든 없든. 언급 된 경우 경로에서 지정된 내에서 검색됩니다. 주문하다. 만약에PG_CATALOG그러면 경로가 검색 될 것입니다경로 항목.

마찬가지로, 현재 세션의 임시 테이블 개요,PG_TEMP_NNN는 항상 검색됩니다 존재합니다. 경로에 명시 적으로 나열 될 수 있습니다 별칭 사설 토토PG_TEMP. 만약 경로에 나열되지 않으면 먼저 검색됩니다. (이전 전PG_CATALOG). 그러나 임시 스키마는 검색됩니다 관계 (표,보기, 시퀀스 등) 및 데이터 유형 이름. 기능을 검색하지 않습니다 운영자 이름.

객체가 지정하지 않고 생성 될 때 특정 대상 스키마는에 배치됩니다 검색 경로에 나열된 첫 번째 스키마. 오류입니다 검색 경로가 비어있는 경우보고합니다.

이 매개 변수의 기본값은입니다.'$ user, public'(두 번째 부분 이름이없는 스키마가 없으면 무시됩니다public). 이것은 공유 사용을 지원합니다 데이터베이스 (사설 토토자가 개인 스키마가없는 경우 등 공유 사용public), 개인 사설 토토자 당 스키마 및 이들의 조합. 다른 기본 검색을 변경하여 효과를 얻을 수 있습니다 전 세계 또는 사설 토토자 당 경로 설정.

검색 경로의 현재 유효 값은 할 수 있습니다 를 통해 검사해야합니다.SQL기능current_schemas (). 이것은 그다지 아닙니다 값을 검사하는 것과 동일합니다search_path이후current_schemas ()에 나타나는 요청search_path해결되었습니다.

스키마 처리에 대한 자세한 내용은 참조섹션 5.8.

check_function_bodies (부울)

이 매개 변수는 일반적으로 참입니다. False를 설정하면 기능 본체 문자열의 유효성 검사를 비활성화합니다기능 생성. 비활성화 검증은 때때로 문제를 피하기 위해 유용합니다 기능 복원시 전방 참조와 같은 덤프의 정의.

default_transaction_isolation (String)

각 SQL 트랜잭션에는 격리 수준이 있습니다 둘 중 하나 일 수 있습니다"읽기 헌신적인"또는"Serializable". 이 매개 변수는 제어합니다 각 새로운 트랜잭션의 기본 격리 수준. 기본값은"읽기 헌신적인".

Consult토토 커뮤니티 : 문서 : 7.4 : 토토 커뮤니티 제어PostgreSQL : 문서 : 7.4 : 젠 토토 설정자세한 내용은

default_transaction_read_only (부울)

읽기 전용 SQL 트랜잭션은 변경 될 수 없습니다 비 임유 테이블. 이 매개 변수는 각 새로운 트랜잭션의 기본 읽기 전용 상태. 그만큼 기본값은 거짓입니다 (읽기/쓰기).

상담PostgreSQL : 문서 :자세한 내용은

station_timeout (Integer)

지정된 진술을 중단합니다 밀리 초 수. 0의 값이 꺼집니다 타이머, 기본값입니다.

16.4.7.2. 로케일과 서식

Datestyle (String)

날짜 및 시간 값에 대한 디스플레이 형식을 모호한 날짜 입력을 해석하기위한 규칙 값. 역사적 이유로,이 변수에는 포함됩니다 두 가지 독립 구성 요소 : 출력 형식 사양 (ISO, Postgres, SQL, 또는독일어) 및 날짜 필드 주문 사양 (dmy, mdy또는YMD). 이들은 별도로 설정할 수 있습니다 함께. 키워드EUROand유럽동의어입니다dmy; 키워드US, NANUURO, 그리고NANUUREAPE동의어입니다 을 위한mdy. 보다섹션 8.5더 많은 것 정보. 기본값은ISO, mdy.

TimeZone (String)

표시 및 해석을위한 시간대를 설정합니다 타임 스탬프. 기본값은 시스템을 사용하는 것입니다 환경은 시간대로 지정됩니다. 보다섹션 8.5더 많은 정보.

Australian_timezones (부울)

true로 설정된 경우ACST, CST, ESTsat는 AS가 아닌 호주 시간대로 해석됩니다 북/남미 시간대 및 토요일. 그만큼 기본값은 거짓입니다.

extra_float_digits (정수)

이 매개 변수는 숫자 수를 조정합니다 를 포함한 부동 소수점 값에 대해 표시float4, float8및 기하학적 데이터 유형. 그만큼 매개 변수 값은 표준 수에 추가됩니다 숫자 (FLT_DIG또는DBL_DIG적절한 경우). 가치는 할 수 있습니다 부분적으로 중요하지 않은 것을 포함하도록 2로 설정하십시오 숫자; 이것은 플로트 덤프에 특히 유용합니다 정확히 복원 해야하는 데이터. 아니면 그럴 수도 있습니다 원치 않는 숫자를 억제하도록 부정적인 설정.

client_encoding (String)

클라이언트 측 인코딩 (문자 세트)을 설정합니다. 그만큼 기본값은 데이터베이스 인코딩을 사용하는 것입니다.

lc_messages (String)

메시지가 표시되는 언어를 설정합니다. 허용 가능한 값은 시스템에 따라 다릅니다. 보다섹션 20.1더 많은 정보. 이 변수가 비어있는 경우 문자열 (기본값). 값은 값입니다 서버의 실행 환경에서 상속됩니다 시스템 의존적 방식으로.

일부 시스템에서는이 로케일 범주는 그렇지 않습니다 존재하다. 이 변수를 설정하는 것은 여전히 ​​작동하지만 거기에서는 작동합니다 효과가 없을 것입니다. 또한, 가능성이 있습니다 원하는 언어에 대한 번역 된 메시지가 있습니다. ~ 안에 이 경우 영어를 계속 볼 것입니다 메시지.

lc_monetary (String)

화폐 형식에 사설 토토할 로케일을 설정합니다 예를 들어와 같은 금액to_char기능 가족. 허용 가능한 값은 시스템에 따라 다릅니다. 보다섹션 20.1더 많은 것 정보. 이 변수가 비어있는 경우 문자열 (기본값). 값은 값입니다 서버의 실행 환경에서 상속됩니다 시스템 의존적 방식으로.

lc_numeric (String)

형식 숫자에 사설 토토할 로케일을 설정합니다 와 함께 예제to_char ()기능 가족. 허용 가능한 값은 시스템에 따라 다릅니다. 보다섹션 20.1더 많은 경우 정보. 이 변수가 비어있는 경우 문자열 (기본값). 값은 값입니다 서버의 실행 환경에서 상속됩니다 시스템 의존적 방식으로.

LC_TIME (String)

서식 날짜 및 시간에 사용할 로케일을 설정합니다. 값. (현재이 설정은 아무것도하지 않습니다 미래에있을 수 있습니다.) 허용 가능한 가치는입니다 시스템 의존적; 보다섹션 20.1더 많은 경우 정보. 이 변수가 비어있는 경우 문자열 (기본값). 값은 값입니다 서버의 실행 환경에서 상속됩니다 시스템 의존적 방식으로.

16.4.7.3. 다른 기본값

explic_pretty_print (부울)

결정설명 말 수가 많은들여 쓰기 또는 비 인간 형식을 사용합니다 자세한 쿼리 트리 덤프를 표시합니다. 기본값 켜져 있습니다.

dynamic_library_path (String)

동적으로로드 가능한 모듈을 열어야하는 경우 지정된 이름에는 디렉토리가 없습니다 구성 요소 (즉, 이름에 슬래시가 포함되어 있지 않음) 시스템은 지정된 파일에 대한이 경로를 검색합니다. (사설 토토되는 이름은에 지정된 이름입니다.함수 만들기또는로드명령.)

dynamic_library_path콜론으로 구분 된 절대 디렉토리 이름 목록. 경우 a 디렉토리 이름은 특별 값으로 시작$ libdir, 컴파일 된PostgreSQL패키지 라이브러리 디렉토리가 대체되었습니다. 이것은 모듈이있는 곳입니다 제공PostgreSQL분포입니다 설치. (사설 토토PG_CONFIG --pkglibdir이 디렉토리의 이름을 인쇄하려면.) 예를 들어:

dynamic_library_path = '/usr/local/lib/사설 토토 :/home/my_project/lib : $ libdir'

이 매개 변수의 기본값은입니다.'$ libdir'. 값이 An으로 설정된 경우 빈 문자열, 자동 경로 검색이 회전됩니다 끄다.

이 매개 변수는 실행 시간에 변경할 수 있습니다 슈퍼업자이지만 그런 식으로 수행 한 설정은 만 가능합니다 클라이언트 연결이 끝날 때까지 지속되므로 방법은 개발 목적으로 예약되어야합니다. 그만큼 이 매개 변수를 설정하는 권장 방법은에 있습니다.사설 토토.conf구성 파일.

max_expr_depth (Integer)

최대 표현식 중첩 깊이를 설정합니다 파서. 10000의 기본값은 충분히 높습니다 정상적인 쿼리이지만 필요한 경우 올릴 수 있습니다. (하지만 너무 높이 올리면 서버 위험을 실행합니다. 스택 오버플로로 인한 충돌.)

16.4.8. 잠금 관리

Deadlock_timeout (Integer)

이것은 밀리 초의 시간의 양입니다. 교착 상태가 있는지 확인하기 전에 자물쇠에 상태. 교착 상태 수표는 비교적 느립니다 서버는 잠금을 기다릴 때마다 실행되지 않습니다. 우리는 (낙관적으로?) 교착 상태가 흔하지 않다고 가정합니다 생산 응용 프로그램에서 교착 상태 수표를 시작하기 전에 잠시. 이 값을 높이면 낭비 된 시간이 줄어 듭니다 불필요한 교착 상태 수표에서는보고가 느려집니다 실제 교착 상태 오류. 기본값은 1000입니다 (즉, 하나 둘째), 아마도 가장 작은 가치에 관한 것입니다 실제로 원할 것입니다. 크게로드 ​​된 서버에서 그것을 높이고 싶을 수도 있습니다. 이상적으로는 설정이 초과되어야합니다 확률을 향상시키기 위해 일반적인 거래 시간 웨이터가 결정하기 전에 자물쇠가 풀릴 것입니다. 교착 상태를 확인하십시오.

max_locks_per_transaction (정수)

공유 잠금 테이블은 최대max_locks_per_transaction * max_connections별개의 개체가 필요합니다 한 번에 잠겨 있습니다. 기본값은 64입니다 역사적으로 충분히 입증되었지만 필요할 수도 있습니다 많은 사람들을 만지면이 가치를 높이십시오. 단일 트랜잭션의 다른 테이블. 이 옵션은 할 수 있습니다 서버 시작시에만 설정됩니다.

16.4.9. 버전 및 플랫폼 호환성

16.4.9.1. 이전의 PostgreSQL 버전

add_missing_from (부울)

언제true, 테이블 쿼리로 참조하면 자동으로 추가됩니다 그만큼From아직없는 경우 절 현재의. 기본값은true이전 릴리스와의 호환성PostgreSQL. 하지만, 이 동작은 SQL 표준이 아니며 많은 사람들이 아닙니다 실수를 가릴 수 있기 때문에 싫어합니다. 설정falseSQL 표준의 경우 그렇지 않은 테이블에 대한 참조를 거부하는 행동 에 나열됨From.

backslash_quote (String)

이것은 견적 표시가 될 수 있는지 여부를 제어합니다 대표\'문자열 오자. 선호하는 SQL 표준 방식을 나타냅니다 견적 마크는 그것을 두 배로 늘려야합니다 ('') 그러나PostgreSQL역사적으로도 있습니다 허용\'. 그러나 사설 토토\'보안 위험을 만듭니다 일부 클라이언트 문자 세트 인코딩에서 마지막 바이트는 멀티 바이트 문자입니다 수치 적으로 ASCII\. 클라이언트 측 코드가 탈출하는 경우 잘못된 경우 SQL 주입 공격이 가능합니다. 이 위험은 서버 거부를 통해 예방할 수 있습니다. 견적 마크가 피해 보이는 쿼리 백 슬래시. 허용 값backslash_quoteareon(허용\'항상),OFF(항상 거부), 그리고SAFE_ENCODING(허용 만 클라이언트 인코딩이 ASCII를 허용하지 않는 경우\멀티 바이트 문자 내에서).Safe_encoding기본값입니다 환경.

regex_flavor (String)

정규 표현"풍미"로 설정할 수 있습니다고급, 확장또는BASIC. 기본값은고급. 그만큼확장설정은 정확하게 유용 할 수 있습니다 7.4 이전 릴리스와의 거꾸로 호환성PostgreSQL.

SQL_INHERITANCE (부울)

이것은 상속 시맨틱을 제어합니다 특히 하위 테이블이 다양한에 포함되어 있는지 여부 기본적으로 명령. 버전에는 포함되지 않았습니다 7.1 이전. 오래된 행동이 필요하면 설정할 수 있습니다 이 변수는 꺼져 있지만 장기적으로는 응용 프로그램을 변경하도록 권장전용제외 할 핵심 단어 하위 테이블. 보다토토 핫 : 문서 : 7.4 : 상속상속에 대한 자세한 내용은

16.4.9.2. 플랫폼 및 클라이언트 호환성

transport_null_equals (부울)

켜지면 양식의 표현expr= 널(또는null =expr)expris null, 즉, 그들입니다 진실을 반환하면expr널 값으로 평가하고 그렇지 않으면 false입니다. 그만큼 올바른 동작expr= null항상해야합니다 NULL을 반환합니다 (알 수 없음). 따라서이 옵션은 기본값입니다 꺼짐.

그러나 필터링 된 양식에서Microsoft Access쿼리 생성 사설 토토하는 것 같습니다expr= nullnull을 테스트합니다 값, 따라서 해당 인터페이스를 사용하여 액세스하는 경우 데이터베이스이 옵션을 켜고 싶을 수도 있습니다. 부터 양식의 표현expr= null항상 돌아 오십시오 널 값 (올바른 해석 사용) 그다지 유용하지 않으며 자주 나타나지 않습니다. 응용 프로그램 이므로이 옵션은 거의 해를 끼치 지 않습니다 관행. 그러나 새로운 사설 토토자는 종종 혼란스러워합니다 널 값과 관련된 표현의 의미론 이 옵션은 기본적으로 켜져 있지 않습니다.

이 옵션은 리터럴에만 영향을 미칩니다=다른 사람이 아닌 연산자 비교 연산자 또는 기타 표현 계산적으로 일부 표현과 동일합니다 평등 연산자 (예 :in). 따라서이 옵션은 일반적인 것이 아닙니다 나쁜 프로그래밍 수정.

참조PostgreSQL : 문서 : 7관련 정보의 경우

16.4.10. 개발자 옵션

다음 옵션은 작업을위한 것입니다.PostgreSQL소스 및 일부 심하게 손상된 데이터베이스의 복구를 지원하는 사례. 프로덕션 데이터베이스에서 사용할 이유가 없어야합니다. 설정. 따라서 샘플에서 제외되었습니다사설 토토.conf파일. 많은 사람들이 주목하십시오 이 옵션 중 특수 소스 컴파일 플래그가 필요합니다 전혀 일하십시오.

debug_assertions (부울)

다양한 주장 점검을 켭니다. 이것은 디버깅입니다 지원. 이상한 문제 나 충돌이 발생하는 경우 노출 될 수 있으므로 이것을 켜고 싶을 수도 있습니다. 프로그래밍 실수. 이 옵션을 사용하려면 매크로use_assert_checking정의PostgreSQL구축되었습니다 (구성옵션--enable-cassert). 참고debug_assertionsif 켜짐PostgreSQL어설 션이 활성화되어 구축되었습니다.

pre_auth_delay (Integer)

0이 아닌 경우이 많은 초의 지연이 발생합니다. 새로운 서버 프로세스가 지급 된 후, 수행되기 전에 인증 프로세스. 이것은주는 것입니다 a로 서버 프로세스에 첨부 할 기회 인증에서 오작동을 추적하는 디버거.

Trace_Notify (부울)

듣기andNotify명령.client_min_messages또는log_min_messagesDebug1이 출력을 보내려면 클라이언트 또는 서버 로그.

trace_locks (부울)
TRACE_LWLOCKS (부울)
trace_userlocks (부울)
trace_lock_oidmin (부울)
trace_lock_table (부울)
debug_deadlocks (부울)
log_btree_build_stats (부울)

다양한 기타 코드 추적 및 디버깅 옵션

Wal_debug (Integer)

0이 아닌 경우 월 관련 디버깅 출력을 켭니다.

Zero_damaged_Pages (부울)

손상된 페이지 헤더 감지는 일반적으로 원인입니다사설 토토보고합니다 오류, 현재 트랜잭션 중단. 환경Zero_damaged_Pagestrue 시스템이 대신 경고를보고하게합니다. 손상된 페이지 및 계속 처리. 이 행동파괴 데이터, 즉 손상된 페이지의 모든 행. 하지만 오류를 지나서 행을 검색 할 수 있습니다. 에 존재할 수있는 손상되지 않은 페이지에서 테이블. 따라서 부패시 데이터를 복구하는 데 유용합니다 하드웨어 또는 소프트웨어 오류로 인해 발생했습니다. 너 당신이 주었을 때까지 일반적으로 이것을 사실을 설정해서는 안됩니다. 손상된 페이지에서 데이터를 복구하려는 희망 테이블. 기본 설정이 꺼져 있으며 수퍼 유저에 의해 변경되었습니다.

16.4.11. 짧은 옵션

편의를 위해 단일 문자 명령 줄도 있습니다 일부 매개 변수에 사용할 수있는 옵션 스위치. 그들은입니다 설명테이블 16-1.

표 16-1. 짧은 옵션 키

짧은 옵션 동등한
-Bx shared_buffers =x
-dx log_min_messages = 디버그x
-f fsync = off
-hx virtual_host =x
-i tcpip_socket = on
-Kx unix_socket_directory =x
-l ssl = on
-nx max_connections =x
-px 포트 =x
-fi, -fh, -fm, -fn, -fs, -ft[a] enable_indexscan = off, enable_hashjoin = off, enable_mergejoin = off, enable_nestloop = off, enable_seqscan = off, enable_tidscan = off
-s[a] log_statement_stats = 에
-sx[a] sort_mem =x
-tpa, -tpl, -te[a] log_parser_stats = on, log_planner_stats = on, log_executor_stats = on
참고 :
a.역사적 이유, 이러한 옵션은 개인에게 전달되어야합니다 를 통한 서버 프로세스-o Postmaster옵션 예,
$ postmaster -o '-s 1024 -s'

또는 viapgoptions에서 위에서 설명한대로 클라이언트 측.