| 롤 토토 : 문서 : 9.5 : 롤 토토 | |||
|---|---|---|---|
| 토토 사이트 : 문서 : 9.5 : 서버 구성 | 토토 사이트 : 문서 : 9.5 : 서버 구성 | 18장. 서버 구성 | PostgreSQL : 문서 : 9.5 : 스포츠 토토 결과 위치 | 
모든 매개변수 이름은 대소문자를 구분하지 않습니다. 모든 매개변수는 부울, 문자열, 정수, 부동 소수점 또는 열거형(열거형)의 5가지 유형 중 하나의 값을 갖습니다. 유형에 따라 매개변수 와이즈 토토 구문이 결정됩니다.
부울:값은 다음과 같이 쓸 수 있습니다.켜짐, 꺼짐, 참, 거짓, 예, 아니요, 1, 0(모두 대소문자를 구분하지 않음) 또는 이들 중 하나의 명확한 접두사.
문자열:일반적으로 값을 작은따옴표로 묶고 값 내의 작은따옴표를 두 배로 늘립니다. 그러나 값이 단순한 숫자나 식별자인 경우에는 일반적으로 따옴표를 생략할 수 있습니다.
숫자(정수 및 부동 소수점):소수점은 부동 소수점 매개변수에만 허용됩니다. 천 단위 구분 기호를 사용하지 마십시오. 따옴표는 필요하지 않습니다.
단위가 포함된 숫자:일부 숫자 매개변수에는 메모리 또는 시간의 양을 나타내기 때문에 암시적 단위가 있습니다. 단위는 킬로바이트, 블록(일반적으로 8킬로바이트), 밀리초, 초 또는 분일 수 있습니다. 이러한 와이즈 토토 중 하나에 대한 장식되지 않은 숫자 값은 다음에서 배울 수 있는 와이즈 토토의 기본 단위를 사용합니다.pg_settings.단위. 편의를 위해 명시적으로 지정된 단위를 사용하여 와이즈 토토을 지정할 수 있습니다.'120밀리초'시간 값에 대해 매개변수의 실제 단위가 무엇이든 간에 변환됩니다. 이 기능을 사용하려면 값을 문자열(따옴표 포함)로 작성해야 합니다. 단위 이름은 대소문자를 구분하며, 숫자 값과 단위 사이에 공백이 있을 수 있습니다.
유효한 메모리 단위는kB(킬로바이트),MB(메가바이트),GB(기가바이트) 및TB(테라바이트). 메모리 단위의 승수는 1000이 아니라 1024입니다.
유효한 시간 단위는 다음과 같습니다.ms(밀리초),s(초),분(분),h(시간) 및d(일).
열거됨:열거형 매개변수는 문자열 매개변수와 동일한 방식으로 작성되지만 제한된 값 세트 중 하나로 제한됩니다. 이러한 매개변수에 허용되는 값은 다음에서 확인할 수 있습니다.pg_settings.열거형. Enum 매개변수 값은 대소문자를 구분하지 않습니다.
이 매개변수를 와이즈 토토하는 가장 기본적인 방법은 파일을 편집하는 것입니다.postgresql.conf, 일반적으로 데이터 디렉터리에 보관됩니다. 데이터베이스 클러스터 디렉터리가 초기화되면 기본 복사본이 설치됩니다. 이 파일의 예는 다음과 같습니다.
# 댓글입니다 log_connections = 예 log_destination = 'syslog' search_path = '"$user", 공개' shared_buffers = 128MB
한 줄에 하나의 매개변수가 지정됩니다. 이름과 값 사이의 등호는 선택 사항입니다. 공백은 중요하지 않으며(인용된 매개변수 값 제외) 빈 줄은 무시됩니다. 해시 마크(#) 줄의 나머지 부분을 주석으로 지정합니다. 단순 식별자나 숫자가 아닌 매개변수 값은 작은따옴표로 묶어야 합니다. 매개변수 값에 작은따옴표를 포함하려면 두 개의 따옴표(선호) 또는 백슬래시 인용문을 작성하십시오. 파일에 동일한 매개변수에 대한 여러 항목이 포함되어 있으면 마지막 항목을 제외한 모든 항목이 무시됩니다.
이 방법으로 와이즈 토토된 매개변수는 클러스터에 대한 기본값을 제공합니다. 활성 세션에 표시되는 와이즈 토토은 재정의되지 않는 한 이 값이 됩니다. 다음 섹션에서는 관리자나 사용자가 이러한 기본값을 재정의할 수 있는 방법을 설명합니다.
주 서버 프로세스가 다음을 수신할 때마다 구성 파일을 다시 읽습니다.SIGHUP신호; 이 신호는 다음을 실행하여 가장 쉽게 전송됩니다.pg_ctl reload명령줄에서 또는 SQL 함수를 호출하여pg_reload_conf(). 또한 주 서버 프로세스는 이 신호를 현재 실행 중인 모든 서버 프로세스에 전파하므로 기존 세션도 새 값을 채택합니다(이는 현재 실행 중인 클라이언트 명령을 완료한 후에 발생합니다). 또는 신호를 단일 서버 프로세스에 직접 보낼 수도 있습니다. 일부 매개변수는 서버 시작 시에만 와이즈 토토할 수 있습니다. 구성 파일 항목에 대한 변경 사항은 서버가 다시 시작될 때까지 무시됩니다. 구성 파일의 잘못된 매개변수 와이즈 토토도 마찬가지로 무시됩니다(그러나 기록됨).SIGHUP처리중.
추가로postgresql.conf, 아PostgreSQL데이터 디렉토리에 파일이 포함되어 있습니다postgresql.auto.conf, 형식은와 동일합니다.postgresql.conf그러나 수동이 아닌 자동으로 편집되도록 되어 있습니다. 이 파일에는 다음을 통해 제공된 와이즈 토토이 포함되어 있습니다.PostgreSQL : 문서 : 9.5 : 스포츠 토토 베트맨 System명령. 이 파일은 언제든지 읽혀집니다.postgresql.conf이며 해당 와이즈 토토은 동일한 방식으로 적용됩니다. 와이즈 토토은postgresql.auto.conf다음 항목을 재정의postgresql.conf.
외부 도구도 수정할 수 있습니다.postgresql.auto.conf. 서버가 실행 중인 동안에는 이 작업을 수행하지 않는 것이 좋습니다.시스템 변경명령은 이러한 변경 사항을 덮어쓸 수 있습니다. 이러한 도구는 단순히 새 와이즈 토토을 끝에 추가할 수도 있고 중복된 와이즈 토토 및/또는 설명을 제거하도록 선택할 수도 있습니다(시스템 변경할 것입니다).
시스템 보기메이저 토토 사이트 : 문서 :구성 파일의 변경 사항을 사전 테스트하거나 다음과 같은 경우 문제를 진단하는 데 도움이 될 수 있습니다.SIGHUP신호가 원하는 효과를 얻지 못했습니다.
PostgreSQL구성 기본값을 와이즈 토토하는 세 가지 SQL 명령을 제공합니다. 이미 언급된PostgreSQL : 문서 : 9.5 : 스포츠 토토 베트맨 System명령은 전역 기본값을 변경하는 SQL 액세스 가능한 수단을 제공합니다. 기능적으로 편집과 동일합니다.postgresql.conf. 또한 데이터베이스별 또는 역할별 기본값 와이즈 토토을 허용하는 두 가지 명령이 있습니다.
그토토 커뮤니티 PostgreSQL : 문서 : 9.5 : Alter Database명령을 사용하면 데이터베이스별로 전역 와이즈 토토을 재정의할 수 있습니다.
그PostgreSQL : 문서 : 9.5 : ALTER 무지개 토토명령을 사용하면 전역 및 데이터베이스별 와이즈 토토을 모두 사용자별 값으로 재정의할 수 있습니다.
다음으로 와이즈 토토된 값데이터베이스 변경그리고역할 변경은 새로운 데이터베이스 세션을 시작할 때만 적용됩니다. 이는 구성 파일이나 서버 명령줄에서 얻은 값을 재정의하고 나머지 세션에 대한 기본값을 구성합니다. 일부 와이즈 토토은 서버 시작 후에는 변경할 수 없으므로 이러한 명령(또는 아래 나열된 명령)으로 와이즈 토토할 수 없습니다.
클라이언트가 데이터베이스에 연결되면,PostgreSQL세션-로컬 구성 와이즈 토토과 상호작용하기 위한 두 개의 추가 SQL 명령(및 동등한 기능)을 제공합니다.
그PostgreSQL : 문서 : 9.5 : 범퍼카 토토명령을 사용하면 모든 매개변수의 현재 값을 검사할 수 있습니다. 해당 기능은 다음과 같습니다.현재_와이즈 토토(와이즈 토토_이름 텍스트).
그PostgreSQL : 문서 : 9.5 : 배트맨 토토명령을 사용하면 세션에 로컬로 와이즈 토토할 수 있는 매개변수의 현재 값을 수정할 수 있습니다. 다른 세션에는 영향을 주지 않습니다. 해당 기능은 다음과 같습니다.set_config(와이즈 토토_이름, 새_값, is_local).
또한 시스템 보기스포츠 토토 결과 :세션-로컬 값을 보고 변경하는 데 사용할 수 있습니다.
이 뷰를 쿼리하는 것은 다음을 사용하는 것과 유사합니다.모두 표시그러나 더 자세한 정보를 제공합니다. 또한 필터 조건을 지정하거나 다른 관계에 대해 조인하는 것이 가능하므로 더 유연합니다.
사용 중PostgreSQL : 문서 : 9.5 : 토토 베이이 보기에서 특히 업데이트와이즈 토토열은 발행과 동일합니다SET명령. 예를 들어, 다음과 같습니다.
configuration_parameter를 기본값으로 와이즈 토토;
다음은:
업데이트 pg_settings SET 와이즈 토토 = Reset_val WHERE 이름 = 'configuration_parameter';
전역 기본값을 와이즈 토토하거나 데이터베이스 또는 역할 수준에서 재정의를 연결하는 것 외에도 와이즈 토토을 다음에 전달할 수 있습니다.PostgreSQL쉘 기능을 통해. 서버와libpq클라이언트 라이브러리는 셸을 통해 매개변수 값을 허용합니다.
서버 시작 중에 매개변수 와이즈 토토이 다음으로 전달될 수 있습니다.포스트그레명령을 통해-c명령줄 매개변수. 예를 들어,
postgres -c log_connections=yes -c log_destination='syslog'
이 방법으로 제공된 와이즈 토토은 다음을 통해 와이즈 토토된 설정보다 우선합니다.postgresql.conf또는시스템 변경, 따라서 서버를 다시 시작하지 않으면 전체적으로 변경할 수 없습니다.
다음을 통해 클라이언트 세션을 시작할 때libpq, 매개변수 와이즈 토토은를 사용하여 지정할 수 있습니다.PGOPTIONS환경 변수. 이러한 방식으로 와이즈 토토된 와이즈 토토은 세션 수명 동안 기본값을 구성하지만 다른 세션에는 영향을 미치지 않습니다. 역사적인 이유로, 형식은PGOPTIONS실행할 때 사용된 것과 유사합니다포스트그레스명령; 구체적으로,-c플래그를 지정해야 합니다. 예를 들어,
env PGOPTIONS="-c geqo=off -cstatement_timeout=5min" psql
다른 클라이언트와 라이브러리는 셸 등을 통해 사용자가 SQL 명령을 직접 사용하지 않고도 세션 와이즈 토토을 변경할 수 있는 자체 메커니즘을 제공할 수 있습니다.
포스트그레SQL컴플렉스를 분해하기 위한 여러 기능을 제공합니다postgresql.conf파일을 하위 파일로 변환합니다. 이러한 기능은 동일하지는 않지만 관련이 있는 구성으로 여러 서버를 관리할 때 특히 유용합니다.
개별 매개변수 와이즈 토토 외에도postgresql.conf파일은 다음을 포함할 수 있음지시어 포함, 이 시점에서 구성 파일에 삽입된 것처럼 읽고 처리할 다른 파일을 지정합니다. 이 기능을 사용하면 구성 파일을 물리적으로 분리된 부분으로 나눌 수 있습니다. include 지시문은 다음과 같습니다.
'파일 이름' 포함
파일 이름이 절대 경로가 아닌 경우, 참조 구성 파일이 포함된 디렉토리에 상대적인 경로로 간주됩니다. 포함 항목은 중첩될 수 있습니다.
또한 있습니다include_if_exists지시문은 다음과 동일하게 작동합니다.포함지시문(참조된 파일이 존재하지 않거나 읽을 수 없는 경우 제외). 일반포함이것은 오류 조건으로 간주되지만include_if_exists단순히 메시지를 기록하고 참조 구성 파일을 계속 처리합니다.
그postgresql.conf파일에는 다음도 포함될 수 있음include_dir22630_22729
include_dir '디렉토리'
절대적이지 않은 디렉토리 이름은 참조 구성 파일을 포함하는 디렉토리에 상대적인 이름으로 간주됩니다. 지정된 디렉터리 내에서 이름이 접미사로 끝나는 디렉터리가 아닌 파일만.conf포함됩니다. 로 시작하는 파일 이름.문자도 무시됩니다. 일부 플랫폼에서는 이러한 파일이 숨겨져 있기 때문에 실수를 방지하기 위한 것입니다. 포함 디렉터리 내의 여러 파일은 파일 이름 순서(C 로케일 규칙에 따라, 즉 문자 앞에 숫자, 소문자 앞에 대문자)로 처리됩니다.
포함 파일 또는 디렉토리는 하나의 큰 파일을 갖는 대신 데이터베이스 구성의 일부를 논리적으로 분리하는 데 사용할 수 있습니다.postgresql.conf파일. 각각 메모리 양이 다른 두 개의 데이터베이스 서버가 있는 회사를 생각해 보십시오. 로깅과 같은 구성 요소는 둘 다 공유할 가능성이 높습니다. 그러나 서버의 메모리 관련 매개변수는 둘 사이에 다릅니다. 그리고 서버별 사용자 정의도 있을 수 있습니다. 이 상황을 관리하는 한 가지 방법은 사이트의 사용자 정의 구성 변경 사항을 세 개의 파일로 나누는 것입니다. 이것을 끝에 추가할 수 있습니다.postgresql.conf포함할 파일:
'shared.conf' 포함 'memory.conf' 포함 'server.conf' 포함
모든 시스템은 동일할 것입니다.shared.conf. 특정 양의 메모리를 가진 각 서버는 동일한 메모리를 공유할 수 있습니다.memory.conf; RAM이 8GB인 모든 서버에 대해 하나가 있고, 16GB가 있는 서버에 대해 또 하나가 있을 수 있습니다. 그리고 마지막으로서버.conf실제로 서버별 구성 정보가 포함될 수 있습니다.
또 다른 가능성은 구성 파일 디렉토리를 생성하고 이 정보를 거기에 있는 파일에 넣는 것입니다. 예를 들어,conf.d디렉토리는 끝부분에서 참조될 수 있습니다.postgresql.conf:
include_dir 'conf.d'
그럼 당신은 파일 이름을 다음과 같이 지정할 수 있습니다.conf.d디렉토리는 다음과 같습니다:
00shared.conf 01memory.conf 02서버.conf
이 명명 규칙은 이러한 파일이 로드되는 명확한 순서를 와이즈 토토합니다. 서버가 구성 파일을 읽는 동안 특정 매개변수에 대해 발견된 마지막 와이즈 토토만 사용되기 때문에 이는 중요합니다. 이 예에서는 다음에서 와이즈 토토한 내용이 있습니다.conf.d/02server.conf에 와이즈 토토된 값을 재정의합니다conf.d/01memory.conf.
대신 이 접근 방식을 사용하여 파일 이름을 설명적으로 지정할 수 있습니다:
00shared.conf 01memory-8GB.conf 02서버-foo.conf
이런 종류의 배열은 각 구성 파일 변형에 고유한 이름을 부여합니다. 이는 여러 서버의 구성이 모두 버전 제어 저장소와 같은 한 위치에 저장되어 있는 경우 모호성을 제거하는 데 도움이 될 수 있습니다. (버전 제어 하에 데이터베이스 구성 파일을 저장하는 것도 고려해야 할 또 다른 좋은 방법입니다.)