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

AlloyDB Omni의 데이터베이스 매개변수를 구성하려면 다음 중 하나에서 범용 통합 구성 (GUC) 매개변수를 업데이트하면 됩니다.

  • VM에서 AlloyDB Omni를 실행하는 환경의 postgresql.conf 파일입니다.

  • Kubernetes 클러스터에서 AlloyDB Omni를 실행하는 환경의 데이터베이스 클러스터 매니페스트입니다.

컨테이너화된 AlloyDB Omni에서 매개변수 업데이트

VM에서 실행되는 AlloyDB Omni에서는 다음과 같이 postgresql.conf 파일을 수정하여 매개변수를 업데이트할 수 있습니다.

  1. AlloyDB Omni 설치의 postgresql.conf 구성 파일을 찾습니다.

  2. 텍스트 편집기를 사용하여 postgresql.conf에서 데이터베이스 플래그를 추가하거나 업데이트합니다.

    예를 들어 비밀번호 만료를 적용하려면 postgresql.conf 파일에서 다음 플래그를 설정합니다.

    password.enforce_expiration = ON
    
  3. 데이터베이스 플래그를 추가하거나 수정한 후 변경사항이 적용되도록 postgresql.conf 파일을 새로고침합니다. 예를 들어 Docker를 사용하여 AlloyDB Omni을 설치한 경우 다음을 실행하여 Docker 인스턴스를 다시 시작하고 postgresql.conf를 새로고침합니다.

    docker restart CONTAINER-NAME

자세한 내용은 PostgreSQL 문서의 매개변수 설정을 참고하세요.

Kubernetes 클러스터의 AlloyDB Omni에서 매개변수 업데이트

데이터베이스 클러스터 매니페스트의 primarySpec 섹션에 있는 parameters 필드를 사용하여 데이터베이스 매개변수를 구성할 수 있습니다.

spec:
  primarySpec:
    parameters:
      "PARAMETER_NAME": "PARAMETER_VALUE"
      ...

다음을 바꿉니다.

  • PARAMETER_NAME: 파라미터의 이름입니다(예: autovacuum).
  • PARAMETER_VALUE: 매개변수의 값입니다(예: off).

일부 매개변수는 변경사항이 적용되도록 클러스터를 다시 시작해야 합니다. pg_catalog.pg_settings에서 다시 시작이 필요한 매개변수 목록을 가져올 수 있습니다. pg_catalog.pg_settings.context = 'postmaster'가 있는 매개변수의 경우 다시 시작해야 합니다.

데이터베이스 매개변수를 업데이트하려면 다음 명령어를 실행합니다.

kubectl patch dbclusters.alloydbomni.dbadmin.goog dbcluster-sample -p '{"spec":{"primarySpec":{"parameters": {"PARAMETER_NAME": "PARAMETER_VALUE"}}}}' --type=merge

매개변수 설정은 currentParameters 필드의 status 부분에 있습니다.

데이터베이스 매개변수를 보려면 다음을 실행합니다.

kubectl get dbclusters.alloydbomni.dbadmin.goog dbcluster-sample -o jsonpath={.status.primary.currentParameters}

결과는 다음과 유사합니다.

{"autovacuum":"off","max_connections":"3000"}

AlloyDB Omni에서 데이터베이스 클러스터 매니페스트에서 요청한 매개변수를 적용할 수 없는 경우 currentParameters 필드의 값이 매니페스트의 parameters 필드의 값과 다를 수 있습니다. 예를 들어 존재하지 않는 매개변수를 적용하거나 문자열 값을 정수 매개변수로 설정합니다.