19.1. 매개 변수 설정#

19.1.1. 매개 변수 이름 및 값#

모든 매개 스포츠 토토 사이트 이름은 대소 문자를 사용하지 않습니다. 모든 매개 스포츠 토토 사이트는 부울, 문자열, 정수, 부동 소수점 또는 열거 (Enum)의 5 가지 유형 중 하나입니다. 유형은 매개 스포츠 토토 사이트를 설정하기위한 구문을 결정합니다.

  • 부울 :값은로 쓸 수 있습니다on, OFF, true, false, , 아니오, 1, 0(모든 사례에 민감하지 않음) 또는이 중 하나의 명백한 접두사.

  • 문자열 :일반적으로 값을 단일 따옴표로 둘러싸고 값 내에서 단일 따옴표를 두 배로 늘립니다. 그러나 값이 간단한 숫자 또는 식별자 인 경우 일반적으로 따옴표를 생략 할 수 있습니다. (SQL 키워드와 일치하는 값은 일부 상황에서 인용해야합니다.)

  • 숫자 (정수 및 부동 소수점) :숫자 매개 스포츠 토토 사이트는 관례 정수 및 부동 소수점 형식으로 지정할 수 있습니다. 매개 스포츠 토토 사이트가 정수 유형 인 경우 분수 값은 가장 가까운 정수로 반올림됩니다. 정수 매개 스포츠 토토 사이트는 추가로 16 진수 입력을 허용합니다 (0x) 및 Octal 입력 (시작0), 그러나이 형식은 분수를 가질 수 없습니다. 수천 개의 분리기를 사용하지 마십시오. 16 진수 입력을 제외하고 따옴표는 필요하지 않습니다.

  • 장치가있는 숫자 :일부 숫자 매개 스포츠 토토 사이트는 메모리 또는 시간을 설명하기 때문에 암시 적 단위를 가지고 있습니다. 장치는 바이트, 킬로바이트, 블록 (일반적으로 8 킬로바이트), 밀리 초, 초 또는 분일 수 있습니다. 이 설정 중 하나에 대한 숫자가없는 숫자 값은 설정의 기본 장치를 사용합니다.pg_settings.Unit. 편의를 위해, 예를 들어 명시 적으로 지정된 단위로 설정을 제공 할 수 있습니다.'120 ms'시간 값의 경우 매개 스포츠 토토 사이트의 실제 장치가 무엇이든 변환됩니다. 이 기능을 사용하려면 값이 문자열 (따옴표 포함)으로 작성해야합니다. 단위 이름은 케이스에 민감하며 숫자 값과 장치 사이에 공백이있을 수 있습니다.

    • 유효한 메모리 장치는B(바이트),KB(Kilobytes),MB(megabytes),GB(Gigabytes) 및TB(테라 바이트). 메모리 유닛의 승수는 1000이 아닌 1024입니다.

    • 유효 시간 단위는US(마이크로 초),MS(밀리 초),S(초),Min(분),H(시간) 및d(일).

    단위로 분수 값이 지정되면 하나가 있으면 다음 작은 장치의 배수로 반올림됩니다. 예를 들어,30.1 GB30822 MBnot32319628902 B. 매개 스포츠 토토 사이트가 정수 유형 인 경우, 단위 변환 후에 정수에 대한 최종 반올림이 발생합니다.

  • 열거 :열거 형 유형 매개 스포츠 토토 사이트는 문자열 매개 스포츠 토토 사이트와 동일한 방식으로 기록되지만 제한된 값 세트 중 하나로 제한됩니다. 이러한 매개 스포츠 토토 사이트에 허용되는 값은에서 찾을 수 있습니다.pg_settings.enumvals. 열거 매개 스포츠 토토 사이트 값은 사례에 민감하지 않습니다.

19.1.2. 구성 파일을 통한 매개 변수 상호 작용#

이러한 매개 스포츠 토토 사이트를 설정하는 가장 기본적인 방법은 파일을 편집하는 것입니다postgresql.conf, 일반적으로 데이터 디렉토리에 보관됩니다. 데이터베이스 클러스터 디렉토리가 초기화되면 기본 사본이 설치됩니다. 이 파일의 모습의 예는 다음과 같습니다.

# 이것은 주석입니다
log_connections = 예입니다
log_destination = 'syslog'
search_path = ' "$ user", public'
shared_buffers = 128MB

한 줄에 하나의 매개 스포츠 토토 사이트가 지정됩니다. 이름과 값 사이의 동일한 부호는 선택 사항입니다. 공백은 중요하지 않으며 (인용 된 매개 스포츠 토토 사이트 값 제외) 빈 줄은 무시됩니다. 해시 마크 (#) 라인의 나머지 부분을 주석으로 지정합니다. 단순한 식별자 또는 숫자가 아닌 매개 스포츠 토토 사이트 값은 단일 인용해야합니다. 매개 스포츠 토토 사이트 값에 단일 견적을 포함 시키려면 두 인용문 (선호) 또는 백 슬래시 쿼트를 작성하십시오. 파일에 동일한 매개 스포츠 토토 사이트에 대한 여러 항목이 포함 된 경우 마지막 매개 스포츠 토토 사이트를 제외한 모든 항목은 무시됩니다.

이러한 방식으로 설정된 매개 변수는 클러스터의 기본값을 제공합니다. 활성 세션에서 볼 수있는 설정은 재정의되지 않는 한 이러한 값이됩니다. 다음 섹션에서는 관리자 또는 사용자가 이러한 기본값을 무시할 수있는 방법을 설명합니다.

기본 서버 프로세스가 a를받을 때마다 구성 파일이 다시 표시됩니다.Sighup신호; 이 신호는 실행에 의해 가장 쉽게 전송됩니다PG_CTL Reload명령 줄에서 또는 SQL 함수를 호출하여pg_reload_conf (). 기본 서버 프로세스는 또한이 신호를 현재 실행중인 모든 서버 프로세스로 전파하므로 기존 세션도 새로운 값을 채택하도록합니다 (현재 실행중인 클라이언트 명령을 완료 한 후에 발생합니다). 또는 신호를 단일 서버 프로세스로 직접 보낼 수 있습니다. 일부 매개 변수는 서버 시작시에만 설정할 수 있습니다. 구성 파일의 항목에 대한 변경 사항은 서버가 다시 시작될 때까지 무시됩니다. 구성 파일의 유효하지 않은 매개 변수 설정은 마찬가지로 무시됩니다 (그러나 로그인)Sighup처리.

외에postgresql.conf, aPostgreSQL데이터 디렉토리가 파일을 포함합니다postgresql.auto.conf,와 동일한 형식을 가진postgresql.conf그러나 수동으로가 아니라 자동으로 편집 할 예정입니다. 이 파일은를 통해 제공된 설정을 보유합니다.Alter System명령. 이 파일은 언제든지 읽습니다postgresql.confIS 및 해당 설정도 같은 방식으로 적용됩니다. 설정postgresql.auto.confpostgresql.conf.

외부 도구도 수정할 수 있습니다postgresql.auto.conf. 서버가 실행되는 동안이 작업을 수행하는 것이 좋습니다allow_alter_system로 설정되었습니다OFF, 동시 이후Alter System명령은 그러한 변경 사항을 덮어 쓸 수 있습니다. 이러한 도구는 단순히 새로운 설정을 끝까지 추가하거나 중복 설정 및/또는 댓글을 제거하도록 선택할 수 있습니다 (ASAlter SystemWill).

시스템보기PG_FILE_SETTINGS구성 파일의 사전 테스트 변경 또는 A 인 경우 문제를 진단하는 데 도움이 될 수 있습니다.Sighup신호가 원하는 효과가 없었습니다.

19.1.3. SQL을 통한 매개 변수 상호 작용#

PostgreSQL구성 기본값을 설정하기 위해 세 가지 SQL 명령을 제공합니다. 이미 언급 된Alter System명령은 글로벌 기본값을 변경하는 SQL 액세스 가능한 수단을 제공합니다. 기능적으로 편집과 동일합니다postgresql.conf. 또한, 다트베이스별로 또는 중단 기준으로 기본값을 설정할 수있는 두 가지 명령이 있습니다.

  • theALTER DATABASE명령은 글로벌 설정이 다타베이스별로 무효화 될 수 있습니다.

  • theALTER 역할명령은 글로벌 및 디타베이스 매개 설정이 사용자 별 값으로 무시할 수 있도록합니다.

값으로 설정된 값데이터베이스 변경andALTER 역할새로운 데이터베이스 세션을 시작할 때만 적용됩니다. 구성 파일 또는 서버 명령 줄에서 얻은 값을 무시하고 나머지 세션의 기본값을 구성합니다. 서버 시작 후에는 일부 설정을 변경할 수 없으므로 이러한 명령 (또는 아래 나열된 명령)으로 설정할 수 없습니다..

클라이언트가 데이터베이스에 연결되면PostgreSQL세션-로컬 구성 설정과 상호 작용하기 위해 두 개의 추가 SQL 명령 (및 동등한 함수)을 제공합니다.

  • theshow명령은 모든 매개 변수의 현재 값을 검사 할 수 있습니다. 해당 SQL 함수는입니다.current_setting (setting_name text)(참조섹션 9.28.1).

  • theSET명령은 세션으로 로컬로 설정할 수있는 매개 변수의 현재 값을 수정할 수 있습니다. 다른 세션에는 영향을 미치지 않습니다. 모든 사용자가 많은 매개 변수를 설정할 수 있지만 일부 매개 변수는 수퍼 유행자와 부여 된 사용자 만 설정할 수 있습니다SET해당 매개 스포츠 토토 사이트의 권한. 해당 SQL 함수는입니다.set_config (setting_name, new_value, is_local)(참조섹션 9.28.1).

또한 시스템보기pg_settings세션-로컬 값을보고 변경하는 데 사용할 수 있습니다 :

  • 이보기 쿼리는 사용과 유사합니다전시회그러나 더 자세한 내용을 제공합니다. 필터 조건을 지정하거나 다른 관계에 가입 할 수 있기 때문에 더 유연합니다.

  • 사용업데이트이 견해에서 구체적으로 업데이트설정열, 발행과 동일합니다SET명령. 예를 들어,에 해당합니다.

    configuration_parameter를 기본값으로 설정하십시오;

    IS :

    업데이트 pg_settings set setting = reset_val where name = 'configuration_parameter';

19.1.4. 쉘을 통한 매개 변수 상호 작용#

데이터베이스 또는 역할 레벨에서 글로벌 기본값을 설정하거나 첨부 재정의 외에도 설정을 전달할 수 있습니다PostgreSQL쉘 시설을 통한. 서버와libpq클라이언트 라이브러리 쉘을 통해 매개 스포츠 토토 사이트 값을 허용합니다.

  • 서버 시작 중에 매개 변수 설정을 전달할 수 있습니다Postgres-C 이름 = value명령 줄 매개 스포츠 토토 사이트 또는 그에 상응하는-name = value변형. 예를 들어,

    postgres -c log_connections = yes -log -destination = 'syslog'

    이러한 방식으로 제공되는 설정은postgresql.conf또는Alter System, 서버를 다시 시작하지 않고도 전 세계적으로 변경할 수 없습니다.

  • 고객 세션을 시작할 때libpq, 매개 변수 설정은를 사용하여 지정할 수 있습니다.pgoptions환경 변수. 이러한 방식으로 설정된 설정은 세션 수명의 기본값을 구성하지만 다른 세션에는 영향을 미치지 않습니다. 역사적 이유로의 형식은pgoptions시작할 때 사용 된 것과 유사합니다Postgres명령; 구체적으로,-c또는 선불--, 이름을 지정하기 전에. 예를 들어,

    ENV PGOPTIONS = "-C geqo = OFF-- 스테이트 타임 아웃 = 5min"PSQL

    다른 클라이언트와 라이브러리는 쉘 또는 기타를 통해 자체 메커니즘을 제공하여 사용자가 SQL 명령을 직접 사용하지 않고 세션 설정을 변경할 수 있습니다.

19.1.5. 구성 파일 내용 관리#

PostgreSQL복잡한 분류를위한 몇 가지 기능을 제공postgresql.conf하위 파일로 파일. 이러한 기능은 관련이 있지만 동일하지 않은 구성으로 여러 서버를 관리 할 때 특히 유용합니다.

개별 매개 변수 설정 외에도postgresql.conf파일이 포함될 수 있습니다지침 포함,이 시점에서 구성 파일에 삽입 된 것처럼 읽고 처리 할 다른 파일을 지정합니다. 이 기능을 사용하면 구성 파일을 물리적으로 별도의 부품으로 나눌 수 있습니다. 지시문 포함은 단순히 다음과 같습니다.

'filename'포함

파일 이름이 절대 경로가 아닌 경우 참조 구성 파일이 포함 된 디렉토리와 관련하여 사용됩니다. 포함은 중첩 될 수 있습니다.

또한도 있습니다.include_if_exists지시문,포함27910_28000포함이것을 오류 조건으로 간주하지만include_if_exists단지 메시지를 기록하고 참조 구성 파일을 계속 처리합니다.

thepostgresql.conf파일도 포함 할 수 있습니다include_dir지시문은 포함 할 구성 파일의 전체 디렉토리를 지정합니다. 이것들은

include_dir 'directory'

absolute 디렉토리 이름은 참조 구성 파일을 포함하는 디렉토리와 관련하여 사용됩니다. 지정된 디렉토리 내에서 이름이 접미사로 끝나는 비 디렉토리 파일 만.conf포함됩니다. 부터 시작하는 파일 이름.문자도 무시됩니다. 이러한 파일이 일부 플랫폼에서 숨겨져 있기 때문에 실수를 방지합니다. 포함 디렉토리 내의 여러 파일은 파일 이름 순서로 처리됩니다 (C 로케일 규칙, 즉 문자 전 숫자, 소문자 이전의 대문자)..

파일 또는 디렉토리 포함을 사용하여 단일 대형이 아닌 데이터베이스 구성의 일부를 논리적으로 분리 할 수 ​​있습니다postgresql.conf파일. 메모리가 다른 두 개의 데이터베이스 서버가있는 회사를 고려하십시오. 로깅과 같은 것들에 대해 구성 할 구성의 요소가있을 수 있습니다. 그러나 서버의 메모리 관련 매개 변수는 둘 다 다양합니다. 서버 특정 사용자 정의도있을 수 있습니다. 이 상황을 관리하는 한 가지 방법은 사이트의 사용자 정의 구성 변경을 세 가지 파일로 나누는 것입니다. 당신은 이것을 당신의 끝에 추가 할 수 있습니다postgresql.conf포함 할 파일 :

'shared.conf'포함
'memory.conf'포함
'server.conf'포함

모든 시스템이 동일합니다shared.conf. 특정 양의 메모리가있는 각 서버가 동일하게 공유 할 수 있습니다memory.conf; 8GB RAM이있는 모든 서버에 1 개, 다른 서버에는 16GB가있는 사람이있을 수 있습니다. 그리고 마지막으로Server.conf진정으로 서버 별 구성 정보가있을 수 있습니다.

또 다른 가능성은 구성 파일 디렉토리를 작성 하고이 정보를 파일에 넣는 것입니다. 예를 들어, Aconf.d디렉토리는 끝에서 참조 할 수 있습니다postgresql.conf:

include_dir 'conf.d'

그러면의 파일 이름을 지정할 수 있습니다.conf.d이와 같은 디렉토리 :

00shared.conf
01memory.conf
02Server.conf

이 이름 지정 규칙은 이러한 파일이로드 될 명확한 순서를 설정합니다. 서버가 구성 파일을 읽는 동안 특정 매개 변수에 직면 한 마지막 설정 만 사용되므로 중요합니다. 이 예에서는에 설정된 내용conf.d/02server.confconf.d/01memory.conf.

대신이 접근법을 사용하여 파일의 이름 지정을 묘사 할 수 있습니다 :

00shared.conf
01memory-8gb.conf
02Server-foo.conf

이런 종류의 배열은 각 구성 파일 변동에 대해 고유 한 이름을 제공합니다. 이는 여러 서버가 버전 제어 저장소와 같이 한 곳에 구성된 구성을 모두 저장하면 모호성을 제거하는 데 도움이 될 수 있습니다. (버전 제어 아래 데이터베이스 구성 파일 저장을 고려해야 할 또 다른 좋은 관행입니다.)

수정 제출

문서에 올바른 것이없는 것이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면