어떤 식 으로든 데이터베이스 시스템의 동작. 여기 우리 설정 방법을 설명하면 다음 하위 섹션이 그들 각각에 대해 토론하십시오.
모든 매개 변수 이름은 대소 문자를 사용하지 않습니다. 모든 매개 변수 네 가지 유형 중 하나의 부울, 정수, 플로팅 값을 취합니다. 포인트, 아래에 설명 된대로 문자열. 부울 값은on, OFF, true, 거짓, 예, 아니오, 1, 0(사례에 민감하지 않음) 또는 이들의 부정확 한 접두사.
이 옵션을 설정하는 한 가지 방법은 파일을 편집하는 것입니다postgresql.conf데이터 디렉토리에서. (기본값 파일이 거기에 설치되어 있습니다.)이 파일이 보이는 것의 예 is :
# 이것은 주석입니다 log_connections = 예입니다 syslog = 2
보시다시피, 옵션은 한 줄 당 하나입니다. 사이의 동일한 부호 이름과 값은 선택 사항입니다. 공백은 무의미하고 비어 있습니다 줄은 무시됩니다. 해시 마크 ("#") 어디서나 의견을 소개합니다.
무지개 토토 파일 우체국 장이 A를받을 때마다 다시 읽습니다.Sighup신호 (가장 쉽게 보낸다 수단PG_CTL Reload). 우체국 장 또한이 신호를 이미 이미 실행중인 모든 백엔드로 전파합니다 기존 세션도 새로운 기본값을 얻을 수 있도록 프로세스. 또는 신호를 하나의 백엔드로만 보낼 수 있습니다. 직접 처리하십시오.
이러한 무지개 토토 매개 변수를 설정하는 두 번째 방법은 제공하는 것입니다. 우체국 장에 대한 명령 줄 옵션으로
postmaster -c log_connections = 예 -c syslog = 2
이전 예제와 동일한 효과를 갖습니다. 명령 줄 옵션은 충돌하는 설정을 무시합니다postgresql.conf.
때때로 명령 줄 옵션을 제공하는 것이 유용합니다. 하나의 특정 백엔드 세션에만. 환경 변수pgoptions이 목적으로 사용될 수 있습니다 클라이언트 측 :
ENV PGOPTIONS = '-C geqo = OFF'PSQL
(이것은 단지 모든 클라이언트 응용 프로그램에서 작동합니다PSQL.) 옵션에는 효과가 없습니다 서버가 시작되면 반드시 수정됩니다. 포트 번호.
마지막으로 개별 SQL에서 일부 옵션을 변경할 수 있습니다 와의 세션SET예
=ENABLE_SEQSCAN을 OFF로 설정하십시오;
SQL 명령 언어 참조를 참조하십시오. 통사론.
cpu_index_tuple_cost
(플로팅 포인트)Query Optimizer의 비용 추정치를 설정합니다 인덱스 스캔 중 각 인덱스 튜플 처리. 이것은 순차 페이지 비용의 일부로 측정 술책.
cpu_operator_cost
(플로팅 포인트)최적화 비용 추정치를 설정합니다 WHERE 절에서 각 연산자를 처리합니다. 이것은 순차 페이지 비용의 일부로 측정 술책.
CPU_TUPLE_COST
(플로팅 포인트)비용에 대한 쿼리 최적화기의 추정치를 설정합니다 쿼리 중 각 튜플을 처리합니다. 이것은 다음과 같이 측정됩니다 순차 페이지 페치 비용의 일부.
exply_cache_size
(플로팅 포인트)효과적인 것에 대한 Optimizer의 가정을 설정합니다 디스크 캐시의 크기 (즉, 사용될 커널 디스크 캐시무지개 토토데이터 파일). 이것은 일반적으로 8kb 인 디스크 페이지에서 측정됩니다 모든 것.
enable_hashjoin
(부울)쿼리 플래너의 사용을 활성화 또는 비활성화합니다 해시-조인 플랜 유형. 기본값이 켜져 있습니다. 이것은 대부분입니다 쿼리 플래너를 디버깅하는 데 유용합니다.
enable_indexscan
(부울)쿼리 플래너의 사용을 활성화 또는 비활성화합니다 인덱스 스캔 계획 유형. 기본값이 켜져 있습니다. 이것은 대부분입니다 쿼리 플래너를 디버깅하는 데 유용합니다.
enable_mergejoin
(부울)쿼리 플래너의 사용을 활성화 또는 비활성화합니다 병합-조명 계획 유형. 기본값이 켜져 있습니다. 이것은 대부분입니다 쿼리 플래너를 디버깅하는 데 유용합니다.
enable_nestloop
(부울)쿼리 플래너의 사용을 활성화 또는 비활성화합니다 중첩 루프 가입 계획. 억제하는 것은 불가능합니다 중첩 루프는 완전히 결합되지만이 변수를 끕니다 플래너가 하나를 사용하지 못하게합니다. 다른 방법을 사용할 수 있습니다. 기본값이 켜져 있습니다. 이것은 대부분입니다 쿼리 플래너를 디버깅하는 데 유용합니다.
enable_seqscan
(부울)쿼리 플래너의 사용을 활성화 또는 비활성화합니다 순차적 스캔 계획 유형. 억제하는 것은 불가능합니다 순차적 스캔은 완전히 스캔되지만이 변수를 끄십시오 플래너가 하나를 사용하지 못하게합니다. 다른 방법을 사용할 수 있습니다. 기본값이 켜져 있습니다. 이것은 대부분입니다 쿼리 플래너를 디버깅하는 데 유용합니다.
enable_sort
(부울)쿼리 플래너의 사용을 활성화 또는 비활성화합니다 명백한 정렬 단계. 억제하는 것은 불가능합니다 명백한 분류는 완전히 분류되지만이 변수를 끄십시오 플래너가 하나를 사용하지 못하게합니다. 다른 방법을 사용할 수 있습니다. 기본값이 켜져 있습니다. 이것은 대부분입니다 쿼리 플래너를 디버깅하는 데 유용합니다.
enable_tidscan
(부울)쿼리 플래너의 사용을 활성화 또는 비활성화합니다TID스캔 계획 유형. 기본값이 켜져 있습니다. 이것은 주로 디버그하는 데 유용합니다 쿼리 플래너.
geqo
(부울)유전자 쿼리 최적화를 활성화 또는 비활성화합니다
쿼리 계획을 시도하는 알고리즘입니다
철저한 검색없이. 이것은 기본적으로 켜져 있습니다. 보다
또한 다양한 기타geqo_
설정.
geqo_effort
(Integer)geqo_generations
(Integer)geqo_pool_size
(Integer)geqo_random_seed
(Integer)geqo_selection_bias
(플로팅 포인트)유전자 쿼리의 다양한 튜닝 매개 변수 최적화 알고리즘 : 풀 크기는 수입니다 한 인구의 개인. 유효한 값은 사이에 있습니다 128 및 1024. 0으로 설정된 경우 (기본값) 풀 크기 2^(qs+1), 여기서 QS는 쿼리가 취해집니다. 노력은 a를 계산하는 데 사용됩니다 세대의 기본값. 유효한 값은 1에서 80, 40 기본값입니다. 세대가 지정합니다 알고리즘의 반복 수. 숫자는 있어야합니다 긍정적 인 정수. 0이 지정되면노력 * log2 (풀 사이즈)사용됩니다. 달리기 알고리즘의 시간은 합에 대략 비례합니다. 수영장 크기와 세대. 선택 바이어스는입니다 인구 내에서의 선택적 압력. 값은 될 수 있습니다 1.50에서 2.00까지; 후자는 기본값입니다. 무작위 씨앗은 재현 가능한 결과를 얻도록 설정할 수 있습니다. 연산. -1로 설정되면 알고리즘이 동작합니다. 비 결정적으로.
geqo_threshold
(Integer)유전자 쿼리 최적화를 사용하여 AT와의 쿼리를 계획하십시오 최소한이 많은 것From항목 관련된. (AJoin무지개 토토 수는 단 하나의 것으로 카운트From항목.) 기본값은 11입니다 쿼리는 일반적으로 결정 론적 사용이 가장 좋습니다. 철저한 플래너. 이 매개 변수는 또한 얼마나 어려운지 제어합니다 Optimizer는 하위 쿼리를 병합하려고합니다From상단 쿼리로의 조항.
KSQO
(부울)the키 세트 쿼리 최적화(KSQO) 원인 쿼리 플래너 쿼리를 변환하는 쿼리 플래너여기서조항은 많은 또는 '에 포함되어 있습니다 조항 (예 :여기서 (a = 1 및 b = 2) 또는 (a = 2 및 b = 3) ...) 노조 쿼리로. 이것 메소드는 기본 구현보다 빠를 수 있지만 반드시 같은 결과를 제공하는 것은 아닙니다. 부터Union암시 적으로 a별도의 선택절의 동일한 출력 행을 제거하십시오.KSQO작동 할 때 일반적으로 사용됩니다 와 같은 제품으로Microsoft 입장, 이것은 이것의 쿼리를 생성하는 경향이 있습니다 형태.
theKSQO알고리즘 많은 사람들과 함께 쿼리에 절대적으로 필수적이었습니다 또는 조항이지만무지개 토토7.0 이상 표준 플래너는 이러한 쿼리를 공정하게 처리합니다 성공적으로. 따라서 기본값이 꺼져 있습니다.
random_page_cost
(플로팅 포인트)Query Optimizer의 비용에 대한 추정치 설정 비 순차적으로 가져온 디스크 페이지. 이것은 a로 측정됩니다 순차적 페이지 페치 비용의 배수.
참고 :불행히도 잘 정의되지 않았습니다 가족을위한 이상적인 가치를 결정하는 방법"비용"정당한 변수 설명. 당신은 실험하고 공유하는 것이 좋습니다 결과.
debug_assertions
(부울)다양한 주장 검사를 켭니다. 이것은 디버깅입니다 지원. 이상한 문제 나 충돌이 발생하는 경우 노출 될 수 있으므로 이것을 켜고 싶을 수도 있습니다. 프로그래밍 실수. 이 옵션을 사용하려면 매크로use_assert_checking정의무지개 토토빌드되었습니다 (무지개 토토 옵션 참조-enable-cassert). 참고debug_assertionsif 켜짐무지개 토토이런 식으로 제작되었습니다.
debug_level
(정수)이 값이 높을수록 더 높을수록 더"디버깅"다양한 종류의 출력입니다 작동 중 서버 로그에서 생성됩니다. 이 옵션 기본적으로 0이므로 디버깅 출력이 없습니다. 값 약 4 명까지 현재 의미가 있습니다.
debug_print_query
(부울)debug_print_parse
(부울)debug_print_rewritten
(부울)debug_print_plan
(부울)debug_pretty_print
(부울)이 플래그를 사용하면 다양한 디버깅 출력이 전송 될 수 있습니다
서버 로그에. 실행 된 각 쿼리에 대해 인쇄물도 인쇄합니다
쿼리 텍스트, 결과 구문 분석 트리, 쿼리
재 작성자 출력 또는 실행 계획debug_pretty_print
이 디스플레이를 들여 보내십시오
더 읽기 쉽지만 훨씬 긴 출력 형식을 생성합니다.
환경debug_level
위
제로는이 깃발 중 일부를 암시 적으로 켭니다.
hostname_lookup
(부울)기본적으로 연결 로그는 IP 주소 만 표시합니다 연결 호스트의. 호스트를 보여 주려면 이름을 켤 수 있지만 호스트에 따라 이름 해상도 설정은 무시할 수없는 것을 부과 할 수 있습니다 성능 페널티. 이 옵션은에서만 설정할 수 있습니다 서버 시작.
log_connections
(부울)각각의 성공에 대해 알리는 라인을 인쇄합니다 서버 로그에서 연결. 기본적으로 꺼져 있습니다. 아마도 매우 유용 할 것입니다. 이 옵션 은만 할 수 있습니다 서버 시작 또는에서 설정해야합니다.postgresql.conf무지개 토토 파일.
log_pid
(부울)각 서버 로그 메시지가 프로세스 ID와 함께 접두사를 접두사합니다 백엔드 프로세스의. 이것은 어느 것을 정리하는 데 유용합니다 메시지는 어떤 연결과 관련이 있습니다. 기본값은입니다 끄다.
log_timestamp
(부울)각 서버 로그 메시지가 타임 스탬프로 접두사를 접두사합니다. 기본값이 꺼져 있습니다.
show_query_stats
(부울)show_parser_stats
(부울)show_planner_stats
(부울)show_executor_stats
(부울)각 쿼리의 경우, 성능 통계를 작성하십시오 서버 로그의 각 모듈. 이것은 원유입니다 프로파일 링 악기.
show_source_port
(부울)연결 호스트의 발신 포트 번호를 보여줍니다 연결 로그 메시지에서. 당신은 추적 할 수 있습니다 포트 번호는 어떤 사용자가 시작했는지 알아 봅니다 연결. 그 외에는 쓸모가 없습니다 따라서 기본적으로 꺼집니다. 이 옵션은에서만 설정할 수 있습니다 서버 시작.
stats_command_string
(부울)stats_block_level
(부울)stats_row_level
(부울)이 플래그는 어떤 정보 백엔드를 보내는 지 결정합니다 통계 수집가 프로세스 : 현재 명령, 블록 레벨 활동 통계 또는 행 수준 활동 통계. 모든 기본값 꺼짐. 통계 활성화 컬렉션은 쿼리 당 소량의 비용이 들지만 디버깅 및 성능 튜닝에 귀중합니다.
stats_reset_on_server_start
(부울)켜면 수집 된 통계는 언제든지 제로화됩니다 서버가 다시 시작됩니다. 꺼져 있다면 통계가 있습니다 서버 재시작에 걸쳐 누적됩니다. 기본값이 켜져 있습니다. 이 옵션은 서버 시작시에만 설정할 수 있습니다.
stats_start_collector
(부울)서버가 시작 해야하는지 여부를 제어합니다 통계 수집 하위 프로세스. 이것은 기본적으로 켜져 있습니다. 하지만 관심이 없다는 것을 알고 있다면 꺼질 수 있습니다. 통계 수집. 이 옵션은에서만 설정할 수 있습니다 서버 시작.
Syslog
(정수)무지개 토토허용 사용Syslogfor 벌채 반출. 이 옵션이 1으로 설정되면 메시지는 모두로 이동합니다.Syslog및 표준 산출. 2 설정은 출력을에만 보냅니다.Syslog. (일부 메시지는 여전히 진행됩니다 표준 출력/오류에.) 기본값은 0입니다 수단Syslog꺼져 있습니다. 이것 서버 시작에서 옵션을 설정해야합니다.
사용하려면Syslog,
빌드무지개 토토해야합니다
로 무지개 토토해야합니다.--enable-syslog
옵션.
syslog_facility
(String)이 옵션은를 결정합니다.Syslog "시설"Syslog가 활성화되었습니다. 당신은 선택할 수 있습니다 Local0, Local1, Local2, Local3, Local4, Local5, Local6, Local7; 기본값은 Local0입니다. 참조 시스템 문서Syslog.
syslog_ident
(String)로그인하는 경우Syslog활성화 되었으며이 옵션은 사용 된 프로그램 이름을 결정합니다 식별하려면무지개 토토메시지Syslog로그 메시지. 기본값은Postgres.
trace_notify
(부울)듣기andNotify명령.
Australian_timezones
(bool)true로 설정된 경우CST, EST및sat호주 시간으로 해석됩니다 북미 중앙/동부 시간이 아닌 구역 구역과 토요일. 기본값은 거짓입니다.
Authentication_timeout
(정수)클라이언트 인증을 완료하는 최대 시간 초. 클라이언트가 완료하지 않은 경우 인증 프로토콜이 시간에 서버 무의식적으로 연결을 끊습니다. 이것은 Hung을 방해합니다 클라이언트는 연결을 무기한으로 점유하는 것입니다. 이것 옵션은 서버 시작 또는에서만 설정할 수 있습니다.postgresql.conf파일.
Deadlock_timeout
(정수)이것은 밀리 초의 시간의 양입니다. 교착 상태가 있는지 확인하기 전에 자물쇠에 상태 여부. 교착 상태 수표는 비교적입니다 느리기 때문에 우리가 기다릴 때마다 실행하고 싶지 않습니다. 잠그다. 우리는 (낙관적으로?) 교착 상태가 아니라고 가정합니다 생산 응용 분야에서 일반적으로 기다리십시오 질문을 시작하기 전에 잠깐 잠그십시오 잠금 해제 될 수 있는지 여부. 이 값을 증가시킵니다 불필요한 교착 상태에서 낭비되는 시간을 줄입니다 점검하지만 실제 교착 상태 오류에 대한보고가 느려집니다. 기본값은 1000 (즉, 1 초)이며 아마도 당신이 실제로 원하는 가장 작은 가치에 대해. a 로드 된 서버를 많이 올릴 수 있습니다. 이상적으로 설정은 일반적인 거래 시간을 초과해야합니다. 자물쇠가 해제 될 확률을 향상시키기 위해 웨이터가 교착 상태를 확인하기로 결정하기 전에. 이것 옵션은 서버 시작에서만 설정할 수 있습니다.
default_transaction_isolation
(String)각 SQL 트랜잭션에는 격리 수준이 있습니다 어느 쪽이든"Committed"또는"Serializable". 이 매개 변수 각 새로운 거래의 격리 수준을 제어합니다 설정되었습니다. 기본값은 커밋됩니다.
상담무지개 토토 사용자 가이드및 명령세트 거래자세한 내용은
dynamic_library_path
(String)동적으로로드 가능한 모듈을 열어야하는 경우 지정된 이름에는 디렉토리가 없습니다 무지개 토토 요소 (즉, 이름에 슬래시가 포함되어 있지 않음) 시스템은 지정된 파일에 대한이 경로를 검색합니다. (그만큼 사용되는 이름은에 지정된 이름입니다.기능 만들기또는로드명령.)
dynamic_library_path의 값은 a입니다 콜론으로 구분 된 절대 디렉토리 이름 목록. 경우 a 디렉토리 이름은 특별 값으로 시작$ libdir, 컴파일 된무지개 토토패키지 라이브러리 디렉토리.무지개 토토분포 설치되고 대체됩니다. (사용pg_config --pkglibdir이름을 인쇄하려면 이 디렉토리.) 예제 값 :
이 매개 변수의 기본값은입니다.$ libdir. 값이 비어있는 경우 문자열, 자동 경로 검색이 꺼져 있습니다.
이 매개 변수는 실행 시간에 변경할 수 있습니다 수퍼 유행자이지만 그런 식으로 수행 한 설정은 클라이언트 연결이 끝날 때까지만 지속되므로 이 방법은 개발 목적으로 예약되어야합니다. 이 매개 변수를 설정하는 권장 방법은에 있습니다.postgresql.conf구성 파일.
fsync
(부울)이 옵션이 켜져 있으면무지개 토토백엔드는를 사용합니다.fsync ()
시스템 호출
업데이트가 물리적으로 있는지 확인하기위한 여러 곳
디스크에 작성되었고 커널에 매달려 있지 않습니다.
버퍼 캐시. 이것은 많은 양의 기회를 증가시킵니다
데이터베이스 설치는 여전히 이후에 사용할 수 있습니다
운영 체제 또는 하드웨어 충돌. (충돌
데이터베이스 서버 자체는아님이것에 영향을 미칩니다
고려 사항.)
그러나이 작업이 느려집니다무지개 토토운영 체제를 차단하고 기다려야하는 포인트
버퍼를 플러시합니다. 없이fsync
, 운영 체제가 허용됩니다
버퍼링, 정렬 및 지연에 최선을 다합니다
상당한 성능을 만들 수있는 글을 쓰고 있습니다
증가하다. 그러나 시스템이 충돌하면 결과가 발생합니다
마지막 몇 가지 커밋 된 거래는 부분적으로 손실 될 수 있습니다.
또는 전체; 최악의 경우 복구 할 수없는 데이터
부패가 발생할 수 있습니다.
이 옵션은에서 영원한 토론의 주제입니다.무지개 토토사용자 및
개발자 커뮤니티. 어떤 사람들은 항상 그것을 꺼내고 일부는 꺼져 있습니다
대량 부하에 대해서만 끄십시오.
무언가 잘못되면 지점을 다시 시작하면 일부는 그대로 두십시오.
안전한쪽에 있습니다. 안전한면이기 때문에
ON도 기본값입니다. 당신이 당신의 운영을 신뢰한다면
시스템, 하드웨어 및 유틸리티 회사 (또는
더 나은 UPS), 당신은 비활성화하고 싶을 것입니다fsync
.
성과 페널티를 주목해야합니다
행위fsync
s입니다
상당히 덜무지개 토토버전 7.1보다
이전 릴리스에서. 이전에 억제 한 경우fsync
때문에
성능 문제, 당신은 당신의 재고를 원할 수 있습니다
선택.
이 옵션은 서버 시작 또는에서만 설정할 수 있습니다.postgresql.conf파일.
KRB_SERVER_KEYFILE
(String)Kerberos 서버 키 파일의 위치를 설정합니다. 보다섹션 4.2.3자세한 내용.
max_connections
(정수)동시 연결 수를 결정합니다 데이터베이스 서버가 허용합니다. 기본값은 32입니다 (그렇지 않으면 서버를 구축하는 동안 변경). 이 매개 변수는 할 수 있습니다 서버 시작시에만 설정됩니다.
max_expr_depth
(Integer)최대 표현식 중첩 깊이를 설정합니다 파서는 받아 들일 것입니다. 기본값은 충분히 높습니다 일반적인 쿼리이지만 필요한 경우 올릴 수 있습니다. (하지만 너무 높이 올리면 위험을 감수합니다. 스택 오버플로로 인한 백엔드 충돌.)
max_files_per_process
(정수)동시에 열린 파일의 최대 수를 설정합니다
각 서버 하위 프로세스에서. 기본값은 1000입니다. 한도입니다
실제로 코드에서 사용하는 것은이 설정 중 작습니다.
그리고의 결과sysconf (_sc_open_max). 따라서, on
시스템Sysconf
합리적인 한도를 반환하면 걱정할 필요가 없습니다.
이 설정. 그러나 일부 플랫폼에서 (특히 대부분의 BSD
시스템),Sysconf
반환 a
시스템이 실제로 할 수있는 것보다 훨씬 큰 가치
많은 수의 프로세스가 모두 열리려고 할 때 지원
그 많은 파일. 자신을보고 있다면"너무 많은 파일"실패, 시도하십시오
이 설정을 줄입니다. 이 옵션은에서만 설정할 수 있습니다
서버 시작 또는postgresql.conf무지개 토토 파일; 만약에
무지개 토토 파일에서 변경되면 영향을 미칩니다
이후에 시작된 서버 하위 프로세스.
max_fsm_relations
(Integer)최대 관계 수 (테이블)를 설정합니다 공유 프리 스페이스에서 어떤 여유 공간이 추적 될 것인지 지도. 기본값은 100입니다.이 옵션은 서버 시작.
max_fsm_pages
(Integer)무료 디스크 페이지 수를 설정합니다. 공간은 공유 프리 스페이스 맵에서 추적됩니다. 그만큼 기본값은 10000입니다.이 옵션은 서버에서만 설정할 수 있습니다. 시작.
max_locks_per_transaction
(정수)공유 잠금 테이블은
최대max_locks_per_transaction
* max_connections
별개의 개체는
한 번에 잠겨 있어야합니다. 기본값은 64입니다
역사적으로 충분히 입증되었지만 필요할 수도 있습니다
많은 사람들을 만지면이 가치를 높이십시오.
단일 트랜잭션의 다른 테이블. 이 옵션은 할 수 있습니다
서버 시작시에만 설정됩니다.
password_encryption
(부울)암호가 지정된 경우사용자 만들기또는ALTER 사용자암호화 또는 암호화되지 않은 쓰기없이, 이 플래그는 비밀번호가 있는지 여부를 결정합니다 암호화. 기본값이 꺼져 있습니다 (암호화하지 마십시오 비밀번호), 그러나이 선택은 미래에 변경 될 수 있습니다 풀어 주다.
포트
(Integer)서버가 듣는 TCP 포트; 기본적으로 5432. 이 옵션은 서버 시작시에만 설정할 수 있습니다.
shared_buffers
(정수)공유 메모리 버퍼 수를 데이터베이스로 설정합니다 서버가 사용됩니다. 기본값은 64입니다. 각 버퍼는입니다 일반적으로 8192 바이트. 이 옵션은에서만 설정할 수 있습니다 서버 시작.
Silent_Mode
(bool)우체국 장을 조용히 실행합니다. 이 옵션이 설정된 경우 우체국 장은 자동으로 백그라운드에서 실행됩니다 TTY를 제어하는 것은 분리되므로 메시지가 없습니다 표준 출력 또는 표준 오류 (동일한 효과 우체국 마스터의 -S 옵션). 로깅 시스템이 아니라면 와 같은SyslogIS 활성화,이 옵션을 사용하는 것은 그것이 만들어지기 때문에 권장하지 않습니다 오류 메시지를 볼 수 없습니다.
Sort_mem
(정수)내부에서 사용할 메모리의 양을 지정합니다.
임시 디스크로 전환하기 전에 정렬 및 해시
파일. 값은 킬로 바이트 및 기본값으로 지정됩니다
512 킬로 바이트까지. 복잡한 쿼리의 경우 몇 가지에 유의하십시오
정렬 및/또는 해시는 병렬로 실행 중일 수 있습니다
각각은 이것만큼 많은 메모리를 사용할 수 있습니다.
값은 데이터를 넣기 전에 지정합니다
임시 파일. 그리고 각 달리기를 잊지 마십시오
백엔드는 하나 이상의 종류를 수행 할 수 있습니다. 그래서 총
필요한 메모리 공간이 필요한 값은 여러 번Sort_mem
.
SQL_INHERITANCE
(bool)이것은 특히 상속 시맨틱을 제어합니다 하위 테이블이 고려에 포함되어 있는지 여부 기본적으로 다양한 명령. 이것은 사실이 아니었다 7.1 이전 버전. 오래된 행동이 필요하다면 이 변수를 끄는 것으로 설정할 수 있지만 장기적으로는 응용 프로그램을 변경하도록 권장전용제외 할 키워드 하위 테이블. SQL 언어 참조 및 참조사용자 안내서더 많은 경우 상속에 관한 정보.
SSL
(부울)활성화SSL연결. 읽어주세요섹션 3.7이것을 사용하기 전에. 기본값이 꺼져 있습니다.
tcpip_socket
(부울)이것이 사실이라면 서버가 TCP/IP를 허용합니다. 사이. 그렇지 않으면 로컬 유닉스 도메인 소켓 만 연결이 허용됩니다. 기본적으로 꺼져 있습니다. 이것 옵션은 서버 시작에서만 설정할 수 있습니다.
transform_null_equals
(부울)켜지면 양식의 표현expr= 널(또는null =expr)는로 취급됩니다.expris null, 즉, 진실을 반환합니다exprNULL 값 평가, 그리고 그렇지 않으면 거짓. 의 올바른 행동expr= 널항상 null (알 수없는)을 반환하는 것입니다. 그러므로 이 옵션은 기본값 꺼짐입니다.
그러나 필터링 된 양식에서Microsoft Access쿼리 생성 사용하는 것 같습니다expr= null널 테스트하려면, 따라서 해당 인터페이스를 사용하여 데이터베이스에 액세스하는 경우 이 옵션을 켜고 싶을 수도 있습니다. 표현 이후 양식expr= null항상 NULL을 반환하십시오 (올바른 해석을 사용) 그다지 그렇지 않습니다 유용하고 정상적인 응용 분야에서 자주 나타나지 않으므로 이 옵션은 실제로 해를 끼치 지 않습니다. 그러나 새로운 사용자 의미론에 대해 종종 혼란스러워합니다 NULL과 관련된 표현식 이므로이 옵션을 전환하지 않습니다. 기본적으로.
이 옵션은 리터럴에만 영향을 미칩니다=운영자, 다른 비교가 아닙니다 연산자 또는 계산적 인 기타 표현 평등과 관련된 일부 표현과 동일합니다 연산자 (예 :in). 따라서, 이 옵션은 잘못된 프로그래밍을위한 일반적인 수정이 아닙니다.
참조사용자 안내서관련 정보.
unix_socket_directory
(String)unix-domain 소켓의 디렉토리를 지정합니다Postmasteris 클라이언트 응용 프로그램의 연결을 듣습니다. 그만큼 기본값은 일반적으로/tmp그러나 빌드 시간에 변경할 수 있습니다.
unix_socket_group
(String)UNIX 도메인 소켓의 그룹 소유자를 설정합니다. (그만큼
소켓의 사용자 소유는 항상 시작하는 사용자입니다.
우체국 장.) 옵션과 함께unix_socket_permissions
이것
추가 액세스 제어 메커니즘으로 사용할 수 있습니다.
이 소켓 유형. 기본적으로 이것은 빈 문자열입니다.
현재 사용자의 기본 그룹을 사용합니다. 이것
옵션은 서버 시작에서만 설정할 수 있습니다.
unix_socket_permissions
(정수)UNIX 도메인 소켓의 액세스 권한을 설정합니다.
UNIX 도메인 소켓은 일반적인 UNIX 파일 시스템을 사용합니다
권한 세트. 옵션 값은
에 의해 허용되는 양식의 숫자 모드 사양CHMOD
및Umask
시스템 호출. (사용하려면
관습 옥탈 형식 숫자는 a로 시작해야합니다.0(0).)
기본 권한은입니다.0777, 누구나 연결할 수 있습니다.
합리적인 대안은입니다.0770(사용자 및 그룹 만 참조 참조unix_socket_group
) 및0700(사용자 만). (그 점에 유의하십시오
실제로 UNIX 소켓의 경우 허가 문제 만 쓰십시오
읽기를 설정하거나 취소하거나
권한 실행.)
이 액세스 제어 메커니즘은 그와 독립적입니다 에 설명 된 것)4 장.
이 옵션은 서버 시작시에만 설정할 수 있습니다.
Vacuum_mem
(Integer)진공추적하려면 재고 된 튜플. 값은 지정되어 있습니다 킬로 바이트 및 기본값은 8192 킬로 바이트입니다. 더 큰 설정은 큰 테이블 진공 청소기의 속도를 향상시킬 수 있습니다 삭제 된 튜플이 많이 있습니다.
virtual_host
(String)TCP/IP 호스트 이름 또는 주소를 지정합니다.Postmaster듣는 것입니다 클라이언트 애플리케이션의 연결. 기본값 구성된 모든 주소에 대한 듣기 (포함LocalHost).
참조범퍼카 토토 : 문서 : 7.2 : WAL 구성WAL 튜닝에 대한 자세한 내용.
Checkpoint_segments
(정수)자동 WAL 체크 포인트 간의 최대 거리는 IN 로그 파일 세그먼트 (각 세그먼트는 일반적으로 16입니다 메가 바이트). 이 옵션은 서버 시작시에만 설정할 수 있습니다 또는에서postgresql.conf파일.
Checkpoint_Timeout
(정수)자동 WAL 체크 포인트 간의 최대 시간, IN 초. 이 옵션은 서버 시작 또는 에서postgresql.conf파일.
Commit_Delay
(정수)WAL에 커밋 레코드를 작성하는 사이의 시간 지연
버퍼를 디스크로 버퍼하고 플러싱합니다
마이크로 초. 0이 아닌 지연으로 인해 여러 가지가 허용됩니다
하나만 커밋 할 거래fsync
시스템로드 인 경우 시스템 호출
추가 거래가 준비 될 정도로 높습니다
주어진 간격 내에서 커밋하십시오. 그러나 지연은 단지입니다
다른 거래가 준비되지 않으면 시간을 낭비합니다
저지르다. 따라서 지연은 AT 인 경우에만 수행됩니다
최소 Commit_Siblings 다른 거래는 활성화됩니다
백엔드가 커밋을 작성한 순간
기록.
Commit_Siblings
(Integer)동시 공개 트랜잭션의 최소 수
수행하기 전에Commit_Delay
지연. 더 큰 가치가 만듭니다
적어도 하나의 다른 거래가
지연 간격 동안 커밋 할 준비가 되십시오.
Wal_buffers
(Integer)WAL의 공유 메모리에 디스크 페이지 버퍼 수 통나무. 이 옵션은 서버 시작시에만 설정할 수 있습니다.
Wal_debug
(Integer)0이 아닌 경우 월 관련 디버깅 출력을 켜십시오 표준 오류.
Wal_files
(Integer)사전에 생성되는 로그 파일 수 체크 포인트 시간. 이 옵션은 서버에서만 설정할 수 있습니다 시작하거나postgresql.conf파일.
WAL_SYNC_METHOD
(String)WAL 업데이트를 디스크로 강제하는 데 사용되는 방법.
가능한 값은fsync(Callfsync ()
각 커밋에서),fdatasync(Callfdatasync ()
각 커밋에서),Open_SyncOpen ()
옵션O_SYNC), 또는Open_DatasyncOpen ()
옵션O_DSYNC). 이러한 모든 선택이 아닙니다
모든 플랫폼에서 사용할 수 있습니다. 이 옵션은 설정할 수 있습니다
서버 시작 또는postgresql.conf파일.
편의를 위해 단일 문자 옵션 스위치도 있습니다 많은 매개 변수에 사용할 수 있습니다. 그것들은 다음에 설명되어 있습니다 다음 표.
표 3-1. 짧은 옵션 키
짧은 옵션 | 동등한 | 비고 |
---|---|---|
-BX |
shared_buffers =x | |
-dx |
debug_level =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 |
enable_indexscan = off, enable_hashjoin = off, enable_mergejoin = off, ENABLE_NESTLOOP = OFF, enable_seqscan = off, enable_tidscan = off | * |
-sx |
Sort_mem =x | * |
-s |
show_query_stats = on | * |
-tpa , -tpl , -te |
show_parser_stats = on, show_planner_stats = on, show_executor_stats = on | * |
-o
포스트 마스터
예를 들어 옵션$postmaster -o '-s 1024 -s'
또는 viapgoptions클라이언트에서 위에서 설명한대로 측면.