데이터베이스 파라미터 구성

문서 버전을 선택합니다.

이 페이지에서는 AlloyDB Omni 조정자를 사용하여 데이터베이스 매개변수를 구성하는 방법을 설명합니다.

GUC (Grand Unified Configuration) 매개변수라고도 하는 데이터베이스 매개변수를 사용하면 AlloyDB Omni 데이터베이스 클러스터의 성능과 동작을 조정할 수 있습니다. 자세한 내용은 PostgreSQL 문서의 매개변수 설정을 참조하세요.

시작하기 전에

데이터베이스 매개변수를 구성하기 전에 다음을 확인하세요.

  1. 설치했습니다 AlloyDB Omni 조정자를.
  2. AlloyDB Omni 클러스터를 프로비저닝하고 만들었습니다.

데이터베이스 매개변수 구성

데이터베이스 매개변수를 구성하려면 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_connections
  • log_disconnections
  • log_hostname
  • log_statement
  • max_connections
  • max_wal_size
  • huge_pages
  • tcp_keepalives_idle
  • tcp_keepalives_interval
  • tcp_keepalives_count

DBCluster 사양을 사용하여 이 목록에 포함되지 않은 shared_buffers와 같은 매개변수를 구성할 수는 없습니다. 대신 클러스터를 만든 후 수동으로 업데이트해야 합니다.

구성 적용

선호하는 조정자 인터페이스를 사용하여 변경사항을 적용합니다.

Ansible

ansible-playbook -i DEPLOYMENT_SPECIFICATION DBCLUSTER_PLAYBOOK -e resource_spec=DBCLUSTER_SPECIFICATION

다음 변수를 바꿉니다.

alloydbctl

alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

다음 변수를 바꿉니다.

클러스터를 만든 후 데이터베이스 매개변수 업데이트

클러스터를 만든 후 매개변수를 업데이트하려면 데이터베이스 노드에서 구성 파일을 수동으로 수정해야 합니다.

고가용성 클러스터에서 매개변수 업데이트

고가용성 (HA) 클러스터에서 데이터베이스 매개변수를 수동으로 업데이트하려면 다음 단계를 완료하세요.

  1. DBCluster 사양 파일에서 availability.enableAutoFailoveravailability.enableAutoHealtrue로 설정되어 있으면 false로 설정합니다.

    DBCluster:
      metadata:
        name: my-db-cluster
      spec:
        databaseVersion: 18.1.0
        mode: ""
        availability:
          ...
          enableAutoFailover: false
          enableAutoHeal: false
          ...
    

    선호하는 인터페이스를 사용하여 업데이트된 리소스 사양을 적용합니다.

  2. 각 데이터베이스 노드에서 다음 디렉터리의 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_PATH
    
  3. 30startup.conf 파일에서 데이터베이스 매개변수 구성을 추가하거나 업데이트합니다. 자세한 내용은 PostgreSQL 문서를 참조하세요.

  4. 모든 노드에서 데이터베이스 서비스를 다시 시작합니다.

    sudo systemctl restart alloydbomni18
  5. DBCluster 리소스 사양에서 availability.enableAutoFailoveravailability.enableAutoHeal 필드를 수정한 경우 원래 값으로 되돌리고 변경사항을 적용합니다.

독립형 클러스터에서 매개변수 업데이트

독립형 클러스터에서 데이터베이스 매개변수를 수동으로 업데이트하려면 다음 단계를 완료하세요.

  1. 데이터베이스 노드에서 다음 디렉터리의 30startup.conf 파일을 업데이트합니다. DATA_DISK_PATH/18/db/postgresql.conf.d/.

    DBCluster 리소스 사양에서 DataDisk에 대해 정의된 파일 시스템 경로를 DATA_DISK_PATH로 바꿉니다.

  2. 30startup.conf 파일에서 데이터베이스 매개변수 구성을 추가하거나 업데이트합니다.

  3. 데이터베이스 서비스를 다시 시작합니다.

    sudo systemctl restart alloydbomni18

매개변수 변경사항 확인

구성을 적용한 후 psql에서 SHOW 명령어를 사용하여 매개변수가 업데이트되었는지 확인할 수 있습니다.

SHOW PARAMETER_NAME;

PARAMETER_NAME을 구성한 매개변수의 이름으로 바꿉니다.