Azure Database for PostgreSQL - 유연한 서버에서 서버 매개 변수 구성
아티클
적용 대상: Azure Database for PostgreSQL - 유연한 서버
Azure Database for PostgreSQL 유연한 서버 인스턴스에 대한 구성 매개 변수를 나열, 표시 및 업데이트할 수 있습니다.
매개 변수 사용자 지정
특정 요구 사항에 따라 매개 변수를 사용자 지정하기 위해 다양한 방법과 수준을 사용할 수 있습니다.
전역 수준
서버 매개 변수에 대해 현재 구성된 값을 보거나 인스턴스 또는 서버 수준에서 전역적으로 변경하려면 Azure Portal에서 서버 매개 변수 페이지를 사용할 수 있습니다. CLI, REST API, Azure Resource Manager 템플릿 또는 타사 IaC 도구를 사용하여 전역적으로 서버 매개 변수와 상호 작용할 수도 있습니다.
참고 항목
Azure Database for PostgreSQL은 관리되는 데이터베이스 서비스이므로 사용자는 postgresql.conf와 같은 구성 파일을 보거나 수정할 수 있는 호스트 또는 운영 체제에 대한 액세스 권한이 없습니다. 파일의 내용은 사용자가 변경한 매개 변수에 따라 자동으로 업데이트됩니다.
이 같은 문서에서는 서버 매개 변수와 전역적으로 상호 작용하는 섹션을 찾아 다음을 수행할 수 있습니다.
보다 세분화된 수준에서 매개 변수를 조정할 수 있습니다. 이러한 조정은 전역적으로 설정된 값을 재정의합니다. 범위 및 기간은 사용자가 지정하는 수준에 따라 달라집니다.
데이터베이스 수준: 데이터베이스별 구성에 대한 ALTER DATABASE 명령을 사용합니다.
역할 또는 사용자 수준: 사용자 중심 설정에 대한 ALTER USER 명령을 사용합니다.
함수, 프로시저 수준: 함수 또는 프로시저를 정의할 때 함수를 호출할 때 사용되는 구성 매개 변수를 지정하거나 변경할 수 있습니다.
테이블 수준: 예를 들어 이 수준에서 자동 진공과 관련된 매개 변수를 수정할 수 있습니다.
세션 수준: 개별 데이터베이스 세션의 수명 동안 특정 매개 변수를 조정할 수 있습니다. PostgreSQL은 다음 SQL 명령을 사용하여 이 조정을 용이하게 합니다.
SET 명령을 사용하여 세션별 조정을 수행합니다. 이러한 변경 내용은 현재 세션 중에 기본 설정으로 사용됩니다. 이러한 변경 내용에 액세스하려면 특정 SET 권한이 필요할 수 있으며 위에서 설명한 수정 가능한 읽기 전용 매개 변수에 대한 이전 제한 사항이 적용되지 않습니다. 해당 SQL 함수는 set_config(setting_name, new_value, is_local)입니다.
SHOW 명령을 사용하여 기존 매개 변수 설정을 검사합니다. 해당 SQL 함수는 current_setting(setting_name text)입니다.
리소스 메뉴의 설정 섹션에서 서버 매개 변수를 선택합니다. 페이지에는 매개 변수 목록, 구성된 값, 선택적 단위, 읽기 전용/동적/정적 여부 및 설명이 표시됩니다.
i(정보) 아이콘을 선택하거나 마우스로 가리키면 각 매개 변수를 설정할 수 있는 허용되는 값을 볼 수 있습니다. 문자열, 열거형, 정수, 부울, 숫자, 집합일 수 있는 매개 변수의 데이터 형식에 따라 허용되는 값이 달라집니다. 정규식, 값 목록, 정수 범위, 켜기/끄기, 소수점 범위, 값 목록일 수 있습니다.
인스턴스에서 지원하는 서버 매개 변수 목록은 각각 20개 항목 페이지로 렌더링되는 수백 개의 항목으로 구성됩니다. 페이지 아래쪽에는 현재 위치를 알려주는 컨트롤이 있습니다. 페이지 전체 집합을 탐색하는 데 사용할 수 있는 페이징 컨트롤도 있습니다.
필요한 경우 검색을 사용하여 항목을 필터링합니다. 텍스트 상자를 사용하여 목록의 범위를 이름이나 설명에 검색 용어가 포함된 매개 변수로 좁힐 수 있습니다.
매개 변수 형식 열에는 각 매개 변수에 대해 다음 값이 표시 될 수 있습니다.
매개 변수 형식
설명
Static
변경을 적용하려면 서버를 다시 시작해야 합니다.
동적
서버 인스턴스를 다시 시작할 필요 없이 변경할 수 있습니다. 그러나 변경 내용은 수정 후 새로 설정된 연결에만 적용됩니다.
읽기 전용
서비스의 안정성, 보안 또는 기타 운영 측면을 유지하는 데 중요한 역할을 하므로 사용자가 구성할 수 없습니다.
az postgres flexible-server parameter list 명령을 통해 서버의 모든 서버 매개 변수를 나열 할 수 있습니다.
az postgres flexible-server parameter list --resource-group <resource_group> --server-name <server>
각 매개 변수에는 다음과 같은 특성이 있습니다.
특성 이름
설명
사용 가능한 값:
allowedValues
매개 변수에 허용되는 값을 설명합니다.
dataType 값에 따라 정규식(문자열), 값 목록(열거형), 정수 범위(정수), 켜기/끄기(부울), 소수점 범위(숫자), 값 목록(집합)이 될 수 있습니다.
dataType
매개 변수에 사용되는 데이터의 형식입니다.
, setstringenumerationnumericinteger중 어느 것이든 boolean될 수 있습니다.
parameters_to_reset=$(az postgres flexible-server parameter list --resource-group <resource_group> --server-name <server> --query "[?value!=defaultValue && isReadOnly==\`false\`].name" -o tsv)
for parameter_to_reset in $parameters_to_reset; do
az postgres flexible-server parameter set --resource-group <resource_group> --server-name <server> --name $parameter_to_reset --value $(az postgres flexible-server parameter show --resource-group <resource_group> --server-name <server> --name $parameter_to_reset --output tsv)
done
또한 변경된 매개 변수 중에서 변경 내용을 적용하기 위해 다시 시작해야 하는 경우 다음 스크립트를 사용하여 서버를 조건부로 다시 시작할 수 있습니다.
parameters_requiring_restart=$(az postgres flexible-server parameter list --resource-group <resource_group> --server-name <server> --query "[?isConfigPendingRestart==\`true\`] | length(@)")
if [ "$parameters_requiring_restart" -gt 0 ]; then
az postgres flexible-server restart --resource-group <resource_group> --name <server>
fi
표준 시간대 매개 변수 작업
PostgreSQL에서 날짜 및 시간 데이터를 사용하려는 경우 해당 위치에 대한 올바른 표준 시간대를 설정해야 합니다. 모든 표준 시간대 인식 날짜와 시간은 UTC의 PostgreSQL에 내부적으로 저장됩니다. 클라이언트에 표시되기 전에 TimeZone 서버 매개 변수로 지정된 영역에서 현지 시간으로 변환됩니다. 이 매개 변수는 서버 매개 변수 페이지에서 편집할 수 있습니다.
PostgreSQL을 사용하면 세 가지 다른 형식으로 표준 시간대를 지정할 수 있습니다.
전체 표준 시간대 이름(예: America/New_York). 인식된 표준 시간대 이름은 pg_timezone_names 뷰에 나열됩니다.
psql에서 이 뷰를 쿼리하고 표준 시간대 이름 목록을 가져오는 예:
표준 시간대 약어(예: PST)입니다. 이러한 사양은 일광 절약 시간제 전환 날짜 규칙 집합도 암시할 수 있는 전체 표준 시간대 이름과 달리 UTC에서 특정 오프셋을 정의합니다. 인식된 약어는 pg_timezone_abbrevs 뷰에 나열되어 있습니다. psql에서 이 뷰를 쿼리하고 표준 시간대 약어 목록을 가져오는 예는 다음과 같습니다.
표준 시간대 이름 및 약어 외에도 PostgreSQL은 STD가 영역 약어이고, 오프셋이 UTC에서 서쪽으로 몇 시간 내의 숫자 오프셋이며, DST는 지정된 오프셋보다 1시간 앞서 있는 것으로 간주되는 선택적 일광 절약 영역 약어인 STDoffset 또는 STDoffsetDST 형식의 POSIX 스타일 표준 시간대 사양을 허용합니다.