Atualize os atributos do cluster da base de dados

Pode alterar os seguintes atributos do cluster de base de dados com a consola GDC ou a CLI gdcloud:

  • Palavra-passe da base de dados para o utilizador administrador
  • Ligações externas (ativadas/desativadas)
  • Nível de disponibilidade
  • Cópia de segurança ativada e dias de retenção da cópia de segurança
  • Sinalizações de bases de dados
  • CPU, memória ou armazenamento atribuídos ao cluster de base de dados

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

Consola

Elevada disponibilidade

Ative ou desative a alta disponibilidade na mesma zona. Consulte a secção Configure a elevada disponibilidade para mais informações.

Proteção de dados

Para todos os tipos de clusters de bases de dados, pode ativar ou desativar a proteção de dados:

  1. Aceda a Proteção de dados e clique em editar Editar para aceder ao formulário de definições de proteção de dados. Se as cópias de segurança automáticas estiverem ativadas, também pode configurar o período de retenção das cópias de segurança.
  2. Depois de fazer alterações, clique em Guardar para aplicar as atualizações ao cluster da base de dados.

Conetividade

Para todos os tipos de clusters de bases de dados, pode escolher se o cluster de base de dados só pode ser acedido a partir do projeto do GDC ou se também é acessível a partir do exterior do projeto:

  1. Aceda a Conetividade e clique em Editar Editar.
  2. Atualize as configurações de conetividade.
  3. Clique em Guardar para aplicar as alterações.

Instâncias

Para todos os tipos de clusters de bases de dados, pode editar as propriedades da instância principal:

  1. Aceda a Instância principal e clique em editar Editar.
  2. Escolha entre as configurações Alto desempenho, Padrão, Mínimo ou Personalizado. A opção Personalizado permite-lhe escolher o número de CPUs, a memória e o armazenamento para a sua instância principal.

  3. A atualização da CPU, da memória ou do armazenamento da instância principal requer um reinício. Selecione Guardar e reiniciar para aplicar as alterações.

Para todos os tipos de clusters de bases de dados, este formulário também lhe permite adicionar, modificar ou remover flags de bases de dados. O conjunto de flags disponíveis é predeterminado pelo GDC. Consulte a secção Configure flags da base de dados para mais informações.

CLI gcloud

Use o seguinte comando para atualizar um cluster de base de dados: sh gdcloud database clusters update CLUSTER_NAME [options]

Substitua o seguinte:

  • CLUSTER_NAME com o nome do cluster de base de dados a atualizar.

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

API

Proteção de dados

Para todos os tipos de clusters de bases de dados, pode ativar a funcionalidade de proteção de dados criando um recurso BackupPlan para esse cluster de base de dados.

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 da base de dados para o qual quer ativar a proteção de dados.
  • USER_PROJECT: o nome do projeto do utilizador onde o cluster de base de dados vai ser criado.
  • RETENTION_DAYS: o número de dias durante os quais o operador retém esta cópia de segurança. Tem de ser um número inteiro entre 1 e 90.

Também pode configurar definições de proteção de dados, como os dias de retenção, editando o recurso BackupPlan correspondente.

Para desativar a proteção de dados para um cluster de base de dados, elimine o recurso BackupPlan correspondente criado anteriormente.

Reponha a palavra-passe do utilizador administrador

Para todos os tipos de clusters de base de dados, pode repor a palavra-passe da base de dados para o utilizador administrador.

  1. Crie um Secret de palavra-passe.

    apiVersion: v1
    kind: Secret
    metadata:
      name: db-pw-DBCLUSTER_NAME
      namespace: USER_PROJECT
    type: Opaque
    data:
      DBCLUSTER_NAME: "BASE64_PASSWORD"
    
  2. Aplique uma patch ao 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 da base de dados.
  • USER_PROJECT: o nome do projeto do utilizador onde o cluster de base de dados vai ser atualizado.
  • BASE64_PASSWORD: a codificação base64 da palavra-passe do administrador da base de dados.

A nova palavra-passe demora cerca de 1 minuto a entrar em vigor.

Configure as flags da base de dados

As imagens da base de dados fornecidas com o GDC incluem predefinições. No entanto, pode personalizar o motor de base de dados predefinido para satisfazer os requisitos das suas aplicações. Os clusters de bases de dados fornecem flags predefinidas que pode definir através da consola do GDC ou da CLI gdcloud:

Consola

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

  2. Na lista de clusters de bases de dados, clique no cluster de base de dados para o qual quer configurar flags de base de dados.

  3. Na secção Instâncias no cluster da base de dados, clique em Editar principal.

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

  4. Na secção Sinalizações, clique em Adicionar uma sinalização de base de dados.

  5. Escolha a sua flag e introduza o valor. Se o valor que introduzir não for válido, a consola do GDC dá-lhe instruções sobre como cumprir o intervalo ou o tipo de valor obrigatório.

  6. Clique em Concluído.

  7. Para definir a configuração, clique em Guardar. Para que algumas flags entrem em vigor, tem de reiniciar o cluster da base de dados. Neste caso, clique em Guardar e reiniciar.

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

Para editar as sinalizações da base de dados, regresse à secção Sinalizações e modifique as sinalizações existentes. Passe o cursor do rato sobre um componente de indicação e clique no ícone Eliminar para remover uma indicação da base de dados.

gdcloud

Pode configurar novas flags da base de dados para o seu cluster ou repor todas as flags existentes para os respetivos valores predefinidos:

  • Para configurar uma flag de base de dados para o cluster de base de dados, execute:

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

    Substitua o seguinte:

    • CLUSTER_NAME: o nome do cluster da base de dados.
    • DB_FLAGS: a lista separada por vírgulas de flags da base de dados a definir na base de dados em execução no cluster da base de dados. Cada valor e indicador da base de dados são definidos como um par de chave-valor. As flags sem um valor podem ser definidas sem uma string após o carater =.

    Por exemplo, o comando seguinte define várias flags da base 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 ver uma lista das flags de base de dados disponíveis, consulte o artigo Flags de base de dados disponíveis.

  • Para repor todos os sinalizadores da base de dados para as respetivas predefinições, execute o seguinte comando:

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

    Substitua CLUSTER_NAME pelo nome do cluster da base de dados.

API

  • Para configurar flags da base de dados para o cluster de base de dados, 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 da base de dados.
    • USER_PROJECT: o nome do projeto do utilizador onde o cluster de base de dados foi criado.
    • DB_FLAGS: os parâmetros de configuração da base de dados a adicionar ou atualizar. Este deve ser um objeto formatado em JSON de pares de chave-valor, em que as chaves são os nomes dos parâmetros da base de dados e os valores são as respetivas definições. Por exemplo, o seguinte define várias flags de base de dados:
    "autovacuum": "on", "autovacuum_analyze_threshold": "2147483647", "dbs.enable_anon": "on"
    

    Para ver uma lista das flags de base de dados disponíveis, consulte o artigo Flags de base de dados disponíveis.

  • Para repor todos os sinalizadores da base de dados para as respetivas predefinições, execute o seguinte comando:

    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 da base de dados.
    • USER_PROJECT: o nome do projeto do utilizador onde o cluster de base de dados foi criado.

Flags de base de dados disponíveis

Bandeira Intervalo Tipo É necessário reiniciar
google_columnar_engine.enabled ativado, desativado Booleano TRUE
google_columnar_engine.memory_size_in_mb [128, 2147483647] Número inteiro TRUE
anon.algorithm String FALSE
anon.maskschema String FALSE
anon.restrict_to_trusted_schemas ativado, desativado Booleano FALSE
anon.salt String FALSE
anon.sourceschema String FALSE
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 FALSE
pg_bigm.gin_key_limit [0, 2147483647] Número inteiro FALSE
pg_bigm.similarity_limit [0, 1] Flutuante FALSE
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 FALSE
pg_hint_plan.enable_hint_table ativado, desativado Booleano FALSE
pg_hint_plan.message_level debug5, debug4, debug3, debug2, debug1, debug, info, notice, warning, error, log Enum FALSE
pg_hint_plan.parse_messages debug5, debug4, debug3, debug2, debug1, debug, info, notice, warning, error, log Enum FALSE
pg_stat_statements.max [100, 2147483647] Número inteiro TRUE
pg_stat_statements.save ativado, desativado Booleano FALSE
pg_stat_statements.track nenhum, superior, todos Enum FALSE
pg_stat_statements.track_utility ativado, desativado Booleano FALSE
pg_wait_sampling.history_period [1, 2147483647] Número inteiro FALSE
pg_wait_sampling.history_size [1, 2147483647] Número inteiro FALSE
pg_wait_sampling.profile_period [1, 2147483647] Número inteiro FALSE
pg_wait_sampling.profile_pid ativado, desativado Booleano FALSE
pg_wait_sampling.profile_queries ativado, desativado Booleano FALSE
pgaudit.log read, write, function, role, ddl, misc, misc_set,
all, none , -read, -write, -function, -role, -ddl,
-misc, -misc_set, -all, -none
String repetida FALSE
pgaudit.log_client ativado, desativado Booleano FALSE
pgaudit.log_parameter ativado, desativado Booleano FALSE
pgaudit.log_level debug5, debug4, debug3, debug2, debug1, info,
notice, warning, error, log
Enum FALSE
pgaudit.log_relation ativado, desativado Booleano FALSE
pgaudit.log_catalog ativado, desativado Booleano FALSE
pgaudit.role String FALSE
pgaudit.log_statement_once ativado, desativado Booleano FALSE
pglogical.batch_inserts ativado, desativado Booleano TRUE
pglogical.conflict_log_level debug5, debug4, debug3 , debug2, debug1 , info, notice , warning, error , log, fatal , panic Enum FALSE
pglogical.conflict_resolution error, apply_remote, keep_local, last_update_wins, first_update_wins Enum FALSE
pglogical.extra_connection_options String FALSE
pglogical.synchronous_commit ativado, desativado Booleano TRUE
pglogical.use_spi ativado, desativado Booleano TRUE
pgtt.enabled ativado, desativado Booleano FALSE
plv8.execution_timeout [1, 65536] Número inteiro FALSE
plv8.memory_limit [256, 3096] Número inteiro FALSE
plv8.start_proc String FALSE