Configurar parâmetros de banco de dados

Selecione uma versão da documentação:

Nesta página, descrevemos como configurar parâmetros de banco de dados usando o orquestrador do AlloyDB Omni.

Os parâmetros de banco de dados, também conhecidos como parâmetros da Grand Unified Configuration (GUC, na sigla em inglês), permitem ajustar a performance e o comportamento do cluster de banco de dados do AlloyDB Omni. Para mais informações, consulte Definir parâmetros na documentação do PostgreSQL.

Antes de começar

Antes de configurar os parâmetros do banco de dados, verifique se você tem:

  1. Instalou o orquestrador do AlloyDB Omni.
  2. Provisionou e criou o cluster do AlloyDB Omni.

Configurar parâmetros de banco de dados

Para configurar os parâmetros do banco de dados, use o campo parameters na seção primarySpec da especificação de recursos DBCluster.

Atualizar a especificação de recursos

Adicione os parâmetros necessários e os valores deles à especificação de recursos DBCluster:

DBCluster:
  metadata:
    name: CLUSTER_NAME
  spec:
    primarySpec:
      # ... other settings ...
      parameters:
        max_wal_size: "MAX_WAL_SIZE"
        max_connections: "MAX_CONNECTIONS_LIMIT"

Substitua:

  • CLUSTER_NAME: nome do cluster de banco de dados.
  • MAX_WAL_SIZE: o tamanho máximo que o WAL pode aumentar entre os checkpoints automáticos do WAL, por exemplo, 2GB.
  • MAX_CONNECTIONS_LIMIT: número máximo de conexões simultâneas permitidas para o servidor de banco de dados, por exemplo, 200. O valor compatível mínimo é 50.

Parâmetros aceitos durante a criação do cluster

É possível configurar os seguintes parâmetros de banco de dados (GUCs) na especificação de recursos DBCluster durante a criação do cluster:

  • log_connections
  • log_disconnections
  • log_hostname
  • log_statement
  • max_connections
  • max_wal_size
  • huge_pages
  • tcp_keepalives_idle
  • tcp_keepalives_interval
  • tcp_keepalives_count

Não é possível configurar parâmetros, como shared_buffers, que não estão incluídos nesta lista usando a especificação DBCluster. Em vez disso, é necessário atualizá-los manualmente após a criação do cluster.

Aplique a configuração

Aplique as mudanças usando a interface do orquestrador de sua preferência.

Ansible

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

Substitua as seguintes variáveis:

  • DEPLOYMENT_SPECIFICATION: caminho para a especificação de implantação criada em Instalar componentes do AlloyDB Omni.

  • DBCLUSTER_PLAYBOOK: caminho para o playbook criado para o cluster de banco de dados.

  • DBCLUSTER_SPECIFICATION: caminho para a especificação do cluster.

alloydbctl

alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

Substitua as seguintes variáveis:

  • DEPLOYMENT_SPECIFICATION: caminho para a especificação de implantação criada em Instalar componentes do AlloyDB Omni.

  • DBCLUSTER_SPECIFICATION: caminho para a especificação do cluster.

Atualizar parâmetros de banco de dados após a criação do cluster

Para atualizar os parâmetros depois que o cluster é criado, é necessário modificar manualmente os arquivos de configuração nos nós do banco de dados.

Atualizar parâmetros em um cluster de alta disponibilidade

Para atualizar manualmente os parâmetros do banco de dados em um cluster de alta disponibilidade (HA), siga estas etapas:

  1. Se availability.enableAutoFailover e availability.enableAutoHeal estiverem definidos como true no arquivo de especificação DBCluster, defina-os como false.

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

    Aplique a especificação de recursos atualizada usando a interface de sua preferência.

  2. Em cada nó de banco de dados, edite o 30startup.conf arquivo no seguinte diretório: DATA_DISK_PATH/18/db/postgresql.conf.d/.

    Substitua DATA_DISK_PATH pelo valor do campo path do disco chamado DataDisk na especificação de recursos DBCluster.

    Exemplo de especificação de DBCluster:

    DBCluster:
      spec:
        primarySpec:
          resources:
            disks:
            - name: DataDisk
              path: /var/lib/alloydbomni/data  # This is your DATA_DISK_PATH
    
  3. Adicione ou atualize as configurações de parâmetros do banco de dados no arquivo 30startup.conf. Para mais informações, consulte a documentação do PostgreSQL.

  4. Reinicie o serviço de banco de dados em todos os nós:

    sudo systemctl restart alloydbomni18
  5. Se você modificou os campos availability.enableAutoFailover e availability.enableAutoHeal na especificação de recursos DBCluster, reverta-os para os valores originais e aplique as mudanças.

Atualizar parâmetros em um cluster independente

Para atualizar manualmente os parâmetros do banco de dados em um cluster independente, siga estas etapas:

  1. No nó do banco de dados, atualize o arquivo 30startup.conf no seguinte diretório: DATA_DISK_PATH/18/db/postgresql.conf.d/.

    Substitua DATA_DISK_PATH pelo caminho do sistema de arquivos definido para DataDisk na especificação de recursos DBCluster.

  2. Adicione ou atualize as configurações de parâmetros do banco de dados no arquivo 30startup.conf.

  3. Reinicie o serviço de banco de dados:

    sudo systemctl restart alloydbomni18

Verificar mudanças de parâmetros

Depois de aplicar a configuração, é possível verificar se os parâmetros foram atualizados usando o comando SHOW em psql:

SHOW PARAMETER_NAME;

Substitua PARAMETER_NAME pelo nome do parâmetro configurado.