GUC (Grand Unified Configuration) 매개변수라고도 하는 데이터베이스 매개변수를 사용하면 AlloyDB Omni 데이터베이스 클러스터의 성능과 동작을 조정할 수 있습니다. 자세한 내용은 PostgreSQL 문서의 매개변수 설정을 참조하세요.
시작하기 전에
데이터베이스 매개변수를 구성하기 전에 다음을 확인하세요.
데이터베이스 매개변수 구성
데이터베이스 매개변수를 구성하려면 DBCluster 리소스 사양의 primarySpec 섹션 내에서 parameters 필드를 사용합니다.
리소스 사양 업데이트
DBCluster 리소스 사양에 필요한 매개변수와 값을 추가합니다.
DBCluster:
metadata:
name: CLUSTER_NAME
spec:
primarySpec:
# ... other settings ...
parameters:
max_wal_size: "MAX_WAL_SIZE"
max_connections: "MAX_CONNECTIONS_LIMIT"
다음을 바꿉니다.
CLUSTER_NAME: 데이터베이스 클러스터의 이름입니다.MAX_WAL_SIZE: 자동 WAL 체크포인트 사이에서 WAL이 증가할 수 있는 최대 크기입니다(예:2GB).MAX_CONNECTIONS_LIMIT: 데이터베이스 서버에 허용되는 최대 동시 연결 수입니다(예:200). 지원 값의 최솟값은50입니다.
클러스터 생성 중에 지원되는 매개변수
클러스터를 만들 때 DBCluster 리소스 사양에서 다음 데이터베이스 매개변수 (GUC)를 구성할 수 있습니다.
log_connectionslog_disconnectionslog_hostnamelog_statementmax_connectionsmax_wal_sizehuge_pagestcp_keepalives_idletcp_keepalives_intervaltcp_keepalives_count
DBCluster 사양을 사용하여 이 목록에 포함되지 않은 shared_buffers와 같은 매개변수를 구성할 수는 없습니다. 대신 클러스터를 만든 후 수동으로
업데이트해야 합니다.
구성 적용
선호하는 조정자 인터페이스를 사용하여 변경사항을 적용합니다.
Ansible
ansible-playbook -i DEPLOYMENT_SPECIFICATION DBCLUSTER_PLAYBOOK -e resource_spec=DBCLUSTER_SPECIFICATION다음 변수를 바꿉니다.
DEPLOYMENT_SPECIFICATION: AlloyDB Omni 구성요소 설치에서 만든 배포 사양의 경로입니다.DBCLUSTER_PLAYBOOK: 데이터베이스 클러스터에 대해 만든 플레이북의 경로입니다.DBCLUSTER_SPECIFICATION: 클러스터 사양의 경로입니다.
alloydbctl
alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION다음 변수를 바꿉니다.
DEPLOYMENT_SPECIFICATION: AlloyDB Omni 구성요소 설치에서 만든 배포 사양의 경로입니다.DBCLUSTER_SPECIFICATION: 클러스터 사양의 경로입니다.
클러스터를 만든 후 데이터베이스 매개변수 업데이트
클러스터를 만든 후 매개변수를 업데이트하려면 데이터베이스 노드에서 구성 파일을 수동으로 수정해야 합니다.
고가용성 클러스터에서 매개변수 업데이트
고가용성 (HA) 클러스터에서 데이터베이스 매개변수를 수동으로 업데이트하려면 다음 단계를 완료하세요.
DBCluster사양 파일에서availability.enableAutoFailover및availability.enableAutoHeal이true로 설정되어 있으면false로 설정합니다.DBCluster: metadata: name: my-db-cluster spec: databaseVersion: 18.1.0 mode: "" availability: ... enableAutoFailover: false enableAutoHeal: false ...선호하는 인터페이스를 사용하여 업데이트된 리소스 사양을 적용합니다.
각 데이터베이스 노드에서 다음 디렉터리의
30startup.conf파일을 수정합니다.DATA_DISK_PATH/18/db/postgresql.conf.d/.DBCluster리소스 사양에서DataDisk라는 디스크의path필드 값을DATA_DISK_PATH로 바꿉니다.DBCluster 사양 예시:
DBCluster: spec: primarySpec: resources: disks: - name: DataDisk path: /var/lib/alloydbomni/data # This is your DATA_DISK_PATH30startup.conf파일에서 데이터베이스 매개변수 구성을 추가하거나 업데이트합니다. 자세한 내용은 PostgreSQL 문서를 참조하세요.모든 노드에서 데이터베이스 서비스를 다시 시작합니다.
sudo systemctl restart alloydbomni18DBCluster리소스 사양에서availability.enableAutoFailover및availability.enableAutoHeal필드를 수정한 경우 원래 값으로 되돌리고 변경사항을 적용합니다.
독립형 클러스터에서 매개변수 업데이트
독립형 클러스터에서 데이터베이스 매개변수를 수동으로 업데이트하려면 다음 단계를 완료하세요.
데이터베이스 노드에서 다음 디렉터리의
30startup.conf파일을 업데이트합니다.DATA_DISK_PATH/18/db/postgresql.conf.d/.DBCluster리소스 사양에서DataDisk에 대해 정의된 파일 시스템 경로를DATA_DISK_PATH로 바꿉니다.30startup.conf파일에서 데이터베이스 매개변수 구성을 추가하거나 업데이트합니다.데이터베이스 서비스를 다시 시작합니다.
sudo systemctl restart alloydbomni18
매개변수 변경사항 확인
구성을 적용한 후 psql에서 SHOW 명령어를 사용하여 매개변수가 업데이트되었는지 확인할 수 있습니다.
SHOW PARAMETER_NAME;PARAMETER_NAME을 구성한 매개변수의 이름으로 바꿉니다.