모든 매개변수 이름은 대소문자를 구분하지 않습니다. 모든 매개변수는 5가지 유형 중 하나의 값: 부울, 정수, 부동 소수점, 문자열 또는 열거형. 부울 값은 다음과 같이 쓸 수 있습니다.켜짐, 꺼짐, 참, 거짓, 예, 아니요, 1, 0(모두 대소문자를 구분하지 않음) 또는 이들의 명확한 접두사.
일부 설정은 메모리 또는 시간 값을 지정합니다. 이들 각각은 킬로바이트, 블록(일반적으로 8킬로바이트), 밀리초, 초 또는 분. 기본 단위 참조하여 찾을 수 있습니다pg_settings.단위. 편의상 다른 단위를 명시적으로 지정할 수도 있습니다. 유효한 메모리 단위는 다음과 같습니다.KB(킬로바이트),MB(메가바이트) 및GB(기가바이트); 유효한 시간 단위는 다음과 같습니다.ms(밀리초),s(초),분(분),h(시간) 및d(일). 메모리 단위의 승수는 1000이 아니라 1024입니다.
유형 배트맨 토토변수"열거형"있습니다 문자열 매개변수와 동일한 방식으로 지정되지만 제한됩니다. 제한된 값으로 설정됩니다. 허용되는 값은 다음에서 찾을 수 있습니다.pg_settings.열거형. Enum 매개변수 값은 다음과 같습니다. 대소문자를 구분하지 않습니다.
이 배트맨 토토변수를 설정하는 한 가지 방법은 파일을 편집하는 것입니다.postgresql.conf, 일반적으로 데이터에 보관됩니다. 디렉토리. (데이터베이스가 설치될 때 기본 복사본이 설치됩니다. 클러스터 디렉터리가 초기화됩니다.) 이 파일의 예 다음과 같이 보일 수 있습니다:
# 댓글입니다 log_connections = 예 log_destination = 'syslog' search_path = '"$user", 공개' shared_buffers = 128MB
한 줄에 하나의 배트맨 토토변수가 지정됩니다. 이름 사이의 등호 값은 선택 사항입니다. 공백은 중요하지 않으며 빈 줄입니다. 무시됩니다. 해시 마크(#) 지정 줄의 나머지 부분을 주석으로 사용합니다. 그렇지 않은 배트맨 토토변수 값 단순 식별자나 숫자는 작은따옴표로 묶어야 합니다. 삽입하려면 배트맨 토토변수 값에 작은따옴표가 있으면 두 개의 따옴표를 쓰세요. (선호) 또는 백슬래시 인용문.
메인 서버가 작동할 때마다 구성 파일을 다시 읽습니다.
프로세스는를 수신합니다.SIGHUP신호;
이는 다음을 실행하여 가장 쉽게 수행할 수 있습니다.pg_ctl
새로고침명령줄에서 또는 SQL 함수를 호출하여pg_reload_conf(). 메인 서버
프로세스는 또한 이 신호를 현재 실행 중인 모든 서버에 전파합니다.
기존 세션도 새로운 값을 얻도록 처리합니다.
또는 단일 서버 프로세스에 신호를 보낼 수 있습니다.
직접. 일부 매개변수는 서버 시작 시에만 설정할 수 있습니다. 어떤
구성 파일의 항목에 대한 변경 사항은 무시됩니다.
서버가 다시 시작될 때까지. 잘못된 매개변수 설정
구성 파일도 마찬가지로 무시됩니다(그러나 기록됨).SIGHUP처리중.
이러한 구성 배트맨 토토변수를 설정하는 두 번째 방법은 이를 명령줄 옵션으로포스트그레스명령, 예:
postgres -c log_connections=yes -c log_destination='syslog'
명령줄 옵션은 충돌하는 모든 설정을 무시합니다.postgresql.conf. 이는 당신을 의미합니다. 편집을 통해 즉시 값을 변경할 수 없습니다.postgresql.conf, 따라서 명령줄 방법은 편리할 수도 있지만 나중에 유연성이 떨어질 수 있습니다.
가끔 명령줄 옵션을 제공하는 것이 유용할 때가 있습니다. 특정 세션만. 환경 변수PGOPTIONS클라이언트에서 이 목적으로 사용될 수 있습니다 측면:
env PGOPTIONS='-c geqo=off' psql
(이것은 누구에게나 적용됩니다.libpq기반 클라이언트 애플리케이션뿐만 아니라psql.) 이 방법은 다음에서는 작동하지 않습니다. 서버가 시작될 때 고정되거나 반드시 필요한 매개변수 에 지정됨postgresql.conf.
또한, 배트맨 토토변수 세트를 할당하는 것이 가능합니다 사용자 또는 데이터베이스에 대한 설정입니다. 세션이 시작될 때마다 관련된 사용자 및 데이터베이스에 대한 기본 설정이 로드됩니다. 명령PostgreSQL : 문서 : 9.3 : ALTER 토토 사이트 추천그리고사설 토토 사이트 PostgreSQL : 문서 : 9.3 : Alter Database, 각각, 이러한 설정을 구성하는 데 사용됩니다. 데이터베이스별 설정 에서 받은 모든 항목을 재정의합니다.포스트그레명령줄 또는 구성 파일, 그리고 차례로 사용자별 설정에 의해 재정의됩니다. 둘 다 다음에 의해 재정의됩니다. 세션별 설정입니다.
일부 배트맨 토토변수는 개별적으로 변경될 수 있습니다.SQL다음과의 세션SET명령, 예:
ENABLE_SEQSCAN을 OFF로 설정;
만약SET허용되며 모두 재정의됩니다. 매개변수 값의 다른 소스. 일부 매개변수는 다음을 통해 변경됨SET: 예를 들어, 만약 다시 시작하지 않으면 변경할 수 없는 제어 동작 전체PostgreSQL서버. 또한, 일부 배트맨 토토변수를 변경하려면 수퍼유저 권한이 필요합니다.SET또는변경.
그토토 : 문서 : 9.3 : show명령으로 검사 가능 모든 매개변수의 현재 값.
가상 테이블pg_settings또한 세션 런타임 매개변수를 표시하고 업데이트할 수 있습니다. 참조토토 사이트 추천 : 문서 : 9.3 : PG_SETTINGS자세한 내용 및 다양한 변수 유형에 대한 설명 및 가능한 경우 변경되었습니다.pg_settings다음과 동일함표시그리고SET하지만 다른 것과 결합할 수 있어 더욱 편리하게 사용할 수 있습니다. 테이블을 선택하거나 원하는 선택 조건을 사용하여 선택합니다. 그것 또한 각 매개변수에 대해 실제보다 더 많은 정보가 포함되어 있습니다. 에서 이용 가능표시.
배트맨 토토변수 설정 외에도postgresql.conf파일은 다음을 포함할 수 있음지시어 포함, 다른 파일을 지정합니다. 구성 파일에 삽입된 것처럼 읽고 처리합니다. 이 시점에서. 이 기능을 사용하면 구성 파일을 물리적으로 분리된 부분으로 나누어집니다. 단순히 지시어를 포함시키세요 다음과 같습니다:
'파일 이름' 포함
파일 이름이 절대 경로가 아닌 경우 다음과 같이 간주됩니다. 참조 구성이 포함된 디렉터리를 기준으로 합니다. 파일. 포함 항목은 중첩될 수 있습니다.
또한 있습니다include_if_exists지시문은 다음과 동일하게 작동합니다.포함지시문(다음의 경우 동작 제외) 참조된 파일이 존재하지 않거나 읽을 수 없습니다. 일반포함이것을 오류로 간주합니다 조건이 있지만include_if_exists그냥 메시지를 기록하고 참조 처리를 계속합니다. 구성 파일.
그postgresql.conf파일도 가능 포함include_dir지시문, 이는 포함할 구성 파일의 전체 디렉터리를 지정합니다. 그것 비슷하게 사용됩니다:
include_dir '디렉토리'
비절대 디렉토리 이름은 단일 디렉토리와 동일한 규칙을 따릅니다. 파일 포함 지시문: 디렉토리에 상대적입니다. 참조 구성 파일이 포함되어 있습니다. 그 안에 디렉토리, 이름이 접미사로 끝나는 디렉토리가 아닌 파일만.conf포함됩니다. 파일 이름 로 시작.문자도 있습니다 일부 플랫폼에서는 숨겨져 있으므로 실수를 방지하기 위해 제외됩니다. 포함 디렉터리 내의 여러 파일은 파일로 처리됩니다. 이름 순서. 파일 이름은 C 로케일 규칙에 따라 정렬됩니다. 문자 앞의 숫자, 소문자 앞의 대문자 것들.
포함 파일 또는 디렉토리를 사용하여 논리적으로 분리할 수 있습니다. 단일 데이터베이스 구성이 아닌 데이터베이스 구성의 일부 큰postgresql.conf파일. 다음을 고려해보세요. 각각 용량이 다른 두 개의 데이터베이스 서버를 보유한 회사 기억의. 두 가지 모두 구성 요소가 있을 수 있습니다. 로깅과 같은 작업을 위해 공유합니다. 하지만 메모리 관련 매개변수는 서버는 둘 사이에 따라 다릅니다. 그리고 서버가 있을 수도 있어요 특정 사용자 정의도 마찬가지입니다. 이 상황을 관리하는 한 가지 방법은 사이트의 사용자 정의 구성 변경 사항을 세 가지로 나누려면 파일. 이것을 끝에 추가할 수 있습니다.postgresql.conf포함할 파일:
'shared.conf' 포함 'memory.conf' 포함 'server.conf' 포함
모든 시스템은 동일할 것입니다.shared.conf. 특정 금액을 가진 각 서버 같은 메모리를 공유할 수 있음memory.conf; 모든 서버에 대해 하나를 가질 수 있습니다 8GB RAM이 있고, 16GB RAM이 있는 경우도 있습니다. 그리고 마지막으로서버.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
이런 종류의 배열은 각각에 고유한 이름을 부여합니다. 구성 파일 변형. 이는 모호성을 제거하는 데 도움이 될 수 있습니다. 여러 서버의 구성이 모두 하나에 저장되어 있는 경우 버전 제어 저장소와 같은 장소. (데이터베이스 저장 버전 관리 하의 구성 파일은 또 다른 좋은 습관입니다. 고려).
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 서버 구성 | 위로 | 파일 위치 |