Atualizar atributos do cluster de banco de dados

É possível mudar os seguintes atributos do cluster de banco de dados com o console do GDC ou a CLI gdcloud:

  • Senha do banco de dados para o usuário administrador
  • Conexões externas (ativadas/desativadas)
  • Nível de disponibilidade
  • Backup ativado e dias de retenção de backup
  • Sinalizações do banco de dados
  • CPU, memória ou armazenamento alocados ao cluster de banco de dados

Para informações sobre como modificar um atributo, consulte o fluxo de trabalho correspondente ao tipo de atributo que você quer atualizar:

Console

Alta disponibilidade

Ative ou desative a alta disponibilidade na mesma zona. Consulte a seção Configurar alta disponibilidade para mais informações.

Proteção de dados

Para todos os tipos de cluster de banco de dados, é possível ativar ou desativar a proteção de dados:

  1. Acesse Proteção de dados e clique em Editar Editar para acessar o formulário de configurações de proteção de dados. Se os backups automáticos estiverem ativados, você também poderá configurar por quanto tempo eles serão retidos.
  2. Depois de fazer as mudanças, clique em Salvar para aplicar as atualizações ao cluster de banco de dados.

Conectividade

Para todos os tipos de cluster de banco de dados, é possível escolher se o cluster pode ser acessado apenas de dentro do projeto do GDC ou se ele também pode ser acessado de fora do projeto:

  1. Acesse Conectividade e clique em Editar Editar.
  2. Atualize as configurações de conectividade.
  3. Clique em Salvar para aplicar as alterações.

Instâncias

Para todos os tipos de cluster de banco de dados, é possível editar as propriedades da instância principal:

  1. Acesse Instância principal e clique em Editar Editar.
  2. Escolha entre as configurações Alto desempenho, Padrão, Mínimo ou Personalizado. Com a opção Personalizada, você escolhe o número de CPUs, a memória e o armazenamento da instância principal.

  3. A atualização da CPU, da memória ou do armazenamento da instância principal requer uma reinicialização. Selecione Salvar e reiniciar para aplicar as mudanças.

Para todos os tipos de cluster de banco de dados, esse formulário também permite adicionar, modificar ou remover flags de banco de dados. O conjunto de flags disponíveis é predeterminado pelo GDC. Consulte a seção Configurar flags do banco de dados para mais informações.

CLI gdcloud

Use o comando a seguir para atualizar um cluster de banco de dados: sh gdcloud database clusters update CLUSTER_NAME [options]

Substitua:

  • CLUSTER_NAME pelo nome do cluster de banco de dados a ser atualizado.

Para conferir a lista completa de opções, consulte a referência de comando ou execute sh gdcloud database clusters update --help

API

Proteção de dados

Para todos os tipos de cluster de banco de dados, é possível ativar o recurso de proteção de dados criando um recurso BackupPlan para esse cluster.

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: BackupPlan
metadata:
  name: DBCLUSTER_NAME-backupplan
  namespace: USER_PROJECT
spec:
  dbclusterRef: DBCLUSTER_NAME
  backupRetainDays: RETENTION_DAYS

Substitua as seguintes variáveis:

  • DBCLUSTER_NAME: o nome do cluster de banco de dados para ativar a proteção de dados.
  • USER_PROJECT: o nome do projeto do usuário em que o cluster de banco de dados será criado.
  • RETENTION_DAYS: o número de dias em que o operador retém esse backup. Ele precisa ser um número inteiro entre 1 e 90.

Você também pode configurar as definições de proteção de dados, como dias de retenção, editando o recurso BackupPlan correspondente.

Para desativar a proteção de dados de um cluster de banco de dados, exclua o recurso BackupPlan correspondente criado anteriormente.

Redefinir a senha do usuário administrador

Para todos os tipos de cluster de banco de dados, é possível redefinir a senha do banco de dados para o usuário administrador.

  1. Crie um secret de senha.

    apiVersion: v1
    kind: Secret
    metadata:
      name: db-pw-DBCLUSTER_NAME
      namespace: USER_PROJECT
    type: Opaque
    data:
      DBCLUSTER_NAME: "BASE64_PASSWORD"
    
  2. Aplique patch no DBCluster.

    kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"adminUser": {"passwordRef": {"name": "db-pw-DBCLUSTER_NAME"}}}}}' --type=merge -n USER_PROJECT
    

Substitua as seguintes variáveis:

  • DBCLUSTER_NAME: o nome do cluster de banco de dados.
  • USER_PROJECT: o nome do projeto do usuário em que o cluster de banco de dados será atualizado.
  • BASE64_PASSWORD: a codificação base64 da senha do administrador do banco de dados.

Leva cerca de um minuto para que a nova senha entre em vigor.

Configurar flags de bancos de dados

As imagens de banco de dados fornecidas com o GDC vêm com configurações padrão. No entanto, é possível personalizar o mecanismo de banco de dados padrão para atender aos requisitos dos seus aplicativos. Os clusters de banco de dados oferecem flags predefinidas que podem ser definidas usando o console do GDC ou a CLI gdcloud:

Console

  1. No menu de navegação, selecione Serviço de banco de dados.

  2. Na lista de clusters de banco de dados, clique no cluster em que você quer configurar flags de banco de dados.

  3. Na seção Instâncias no cluster de banco de dados, clique em Editar instância principal.

    Edite o cluster de banco de dados principal para configurar flags.

  4. Na seção Flags, clique em Adicionar um flag de banco de dados.

  5. Escolha sua flag e insira o valor. Se o valor inserido não for válido, o console do GDC vai dar instruções sobre como atender ao intervalo ou tipo de valor obrigatório.

  6. Clique em Concluído.

  7. Para definir a configuração, clique em Salvar. Para que algumas flags entrem em vigor, é necessário reiniciar o cluster de banco de dados. Nesse caso, clique em Salvar e reiniciar.

  8. Para confirmar que a nova flag está definida, volte à seção Instâncias no cluster de banco de dados e verifique se a nova flag e o valor estão visíveis.

Para editar as flags do banco de dados, volte para a seção Flags e modifique as flags atuais. Passe o cursor sobre um componente de flag e clique no ícone Excluir para remover uma flag de banco de dados.

gdcloud

É possível configurar novas flags de banco de dados para seu cluster ou redefinir todas as flags atuais para os valores padrão:

  • Para configurar uma flag de banco de dados para seu cluster, execute:

    gdcloud database clusters update CLUSTER_NAME \
        --database-flags DB_FLAGS
    

    Substitua:

    • CLUSTER_NAME: o nome do cluster de banco de dados.
    • DB_FLAGS: a lista separada por vírgulas de flags de banco de dados a serem definidas no banco de dados em execução no cluster de banco de dados. Cada flag de banco de dados e valor são definidos como um par de chave-valor. Flags sem um valor podem ser definidas sem uma string após o caractere =.

    Por exemplo, o comando a seguir define várias flags de banco de dados para o test-db-cluster:

    gdcloud database clusters update test-db-cluster \
        --database-flags max_allowed_packet=55555,skip_grant_tables=,log_output=1
    

    Para uma lista de flags de banco de dados disponíveis, consulte Flags de banco de dados disponíveis.

  • Para redefinir todas as flags do banco de dados para as configurações padrão, execute:

    gdcloud database clusters update CLUSTER_NAME --clear-database-flags
    

    Substitua CLUSTER_NAME pelo nome do cluster de banco de dados.

API

  • Para configurar flags do banco de dados para o cluster, execute:

      kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"parameters": DB_FLAGS}}}' --type=merge -n USER_PROJECT
    

    Substitua as seguintes variáveis:

    • DBCLUSTER_NAME: o nome do cluster de banco de dados.
    • USER_PROJECT: o nome do projeto do usuário em que o cluster de banco de dados foi criado.
    • DB_FLAGS: os parâmetros de configuração do banco de dados a serem adicionados ou atualizados. Esse objeto precisa estar no formato JSON com pares de chave-valor, em que as chaves são os nomes dos parâmetros do banco de dados e os valores são as respectivas configurações. Por exemplo, o comando a seguir define várias flags de banco de dados:
    "autovacuum": "on", "autovacuum_analyze_threshold": "2147483647", "dbs.enable_anon": "on"
    

    Para uma lista de flags de banco de dados disponíveis, consulte Flags de banco de dados disponíveis.

  • Para redefinir todas as flags do banco de dados para as configurações padrão, execute:

    kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME --type=json -p='[{"op": "remove", "path": "/spec/primarySpec/parameters"}]' -n USER_PROJECT
    

    Substitua as seguintes variáveis:

    • DBCLUSTER_NAME: o nome do cluster de banco de dados.
    • USER_PROJECT: o nome do projeto do usuário em que o cluster de banco de dados foi criado.

Flags de banco de dados disponíveis

Sinalização Intervalo Tipo É necessário reiniciar
google_columnar_engine.enabled ativado, desativado Booleano TRUE
google_columnar_engine.memory_size_in_mb [128, 2147483647] Inteiro TRUE
anon.algorithm String FALSO
anon.maskschema String FALSO
anon.restrict_to_trusted_schemas ativado, desativado Booleano FALSO
anon.salt String FALSO
anon.sourceschema String FALSO
dbs.enable_anon on, off Booleano TRUE
dbs.enable_pg_bigm on, off Booleano TRUE
dbs.enable_pg_cron on, off Booleano TRUE
dbs.enable_pg_hint_plan on, off Booleano TRUE
dbs.enable_pg_squeeze on, off Booleano TRUE
dbs.enable_pg_wait_sampling on, off Booleano TRUE
pg_bigm.enable_recheck ativado, desativado Booleano FALSO
pg_bigm.gin_key_limit [0, 2147483647] Inteiro FALSO
pg_bigm.similarity_limit [0, 1] Ponto flutuante FALSO
pg_hint_plan.debug_print off, on, detailed, verbose, 0, 1, 2, 3, no, yes, false, true Enum TRUE
pg_hint_plan.enable_hint ativado, desativado Booleano FALSO
pg_hint_plan.enable_hint_table ativado, desativado Booleano FALSO
pg_hint_plan.message_level debug5, debug4, debug3, debug2, debug1, debug, info, notice, warning, error, log Enum FALSO
pg_hint_plan.parse_messages debug5, debug4, debug3, debug2, debug1, debug, info, notice, warning, error, log Enum FALSO
pg_stat_statements.max (em inglês) [100, 2147483647] Inteiro TRUE
pg_stat_statements.save (em inglês) ativado, desativado Booleano FALSO
pg_stat_statements.track (em inglês) none, top, all Enum FALSO
pg_stat_statements.track_utility (em inglês) ativado, desativado Booleano FALSO
pg_wait_sampling.history_period [1, 2147483647] Inteiro FALSO
pg_wait_sampling.history_size [1, 2147483647] Inteiro FALSO
pg_wait_sampling.profile_period [1, 2147483647] Inteiro FALSO
pg_wait_sampling.profile_pid ativado, desativado Booleano FALSO
pg_wait_sampling.profile_queries ativado, desativado Booleano FALSO
pgaudit.log read, write, function, role, ddl, misc, misc_set,
all, none , -read, -write, -function, -role, -ddl,
-misc, -misc_set, -all, -none
String repetida FALSO
pgaudit.log_client ativado, desativado Booleano FALSO
pgaudit.log_parameter ativado, desativado Booleano FALSO
pgaudit.log_level debug5, debug4, debug3, debug2, debug1, info,
notice, warning, error, log
Enum FALSO
pgaudit.log_relation ativado, desativado Booleano FALSO
pgaudit.log_catalog ativado, desativado Booleano FALSO
pgaudit.role String FALSO
pgaudit.log_statement_once ativado, desativado Booleano FALSO
pglogical.batch_inserts ativado, desativado Booleano TRUE
pglogical.conflict_log_level debug5, debug4, debug3 , debug2, debug1 , info, notice , warning, error , log, fatal , panic Enum FALSO
pglogical.conflict_resolution error, apply_remote, keep_local, last_update_wins, first_update_wins Enum FALSO
pglogical.extra_connection_options String FALSO
pglogical.synchronous_commit ativado, desativado Booleano TRUE
pglogical.use_spi ativado, desativado Booleano TRUE
pgtt.enabled ativado, desativado Booleano FALSO
plv8.execution_timeout [1, 65536] Inteiro FALSO
plv8.memory_limit [256, 3096] Inteiro FALSO
plv8.start_proc String FALSO