Actualizar los atributos de un clúster de bases de datos

Puedes cambiar los siguientes atributos de clúster de base de datos con la consola de GDC o la CLI de gdcloud:

  • Contraseña de la base de datos del usuario administrador
  • Conexiones externas (habilitadas o inhabilitadas)
  • Nivel de disponibilidad
  • Copia de seguridad habilitada y días de conservación de copias de seguridad
  • Marcas de bases de datos
  • CPU, memoria o almacenamiento asignados al clúster de base de datos

Para obtener información sobre cómo modificar un atributo, consulta el flujo de trabajo correspondiente al tipo de atributo que quieras actualizar:

Consola

Alta disponibilidad

Habilita o inhabilita la alta disponibilidad en la misma zona. Para obtener más información, consulta la sección Configurar la alta disponibilidad.

Protección de Datos

En todos los tipos de clústeres de bases de datos, puede habilitar o inhabilitar Protección de datos:

  1. Ve a Protección de datos y haz clic en Editar Editar para acceder al formulario de configuración de protección de datos. Si las copias de seguridad automáticas están habilitadas, también puedes configurar durante cuánto tiempo se conservarán.
  2. Después de hacer los cambios, haz clic en Guardar para que se apliquen a tu clúster de base de datos.

Connectivity

En todos los tipos de clúster de bases de datos, puedes elegir si se puede acceder al clúster de bases de datos solo desde dentro del proyecto de GDC o si también se puede acceder desde fuera del proyecto:

  1. Ve a Conectividad y haz clic en editar Editar.
  2. Actualiza tus configuraciones de conectividad.
  3. Haz clic en Guardar para aplicar los cambios.

Instancias

En todos los tipos de clústeres de bases de datos, puede editar las propiedades de la instancia principal:

  1. Ve a Instancia principal y haz clic en editar Editar.
  2. Elige entre las configuraciones Alto rendimiento, Estándar, Mínimo o Personalizado. La opción Personalizado te permite elegir el número de CPUs, la memoria y el almacenamiento de tu instancia principal.

  3. Si actualizas la CPU, la memoria o el almacenamiento de tu instancia principal, tendrás que reiniciarla. Selecciona Guardar y reiniciar para aplicar los cambios.

En todos los tipos de clústeres de bases de datos, este formulario también te permite añadir, modificar o quitar marcas de bases de datos. GDC predetermina el conjunto de marcas disponibles. Para obtener más información, consulta la sección Configurar marcas de bases de datos.

CLI gdcloud

Usa el siguiente comando para actualizar un clúster de base de datos: sh gdcloud database clusters update CLUSTER_NAME [options]

Haz los cambios siguientes:

  • CLUSTER_NAME con el nombre del clúster de base de datos que se va a actualizar.

Para ver la lista completa de opciones, consulta la referencia de comandos o ejecuta sh gdcloud database clusters update --help

API

Protección de Datos

En todos los tipos de clústeres de bases de datos, puede habilitar la función de protección de datos creando un recurso BackupPlan para ese clúster de bases de datos.

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

Sustituye las siguientes variables:

  • DBCLUSTER_NAME: el nombre del clúster de base de datos para el que se va a habilitar la protección de datos.
  • USER_PROJECT: el nombre del proyecto de usuario en el que se creará el clúster de bases de datos.
  • RETENTION_DAYS: el número de días durante los que el operador conserva esta copia de seguridad. Debe ser un número entero entre 1 y 90.

También puede configurar ajustes de protección de datos, como los días de conservación, editando el recurso BackupPlan correspondiente.

Para desactivar la protección de datos de un clúster de bases de datos, elimina el recurso BackupPlan correspondiente que hayas creado anteriormente.

Cambiar la contraseña de usuario administrador

En todos los tipos de clústeres de bases de datos, puedes restablecer la contraseña de la base de datos del usuario administrador.

  1. Crea un secreto de contraseña.

    apiVersion: v1
    kind: Secret
    metadata:
      name: db-pw-DBCLUSTER_NAME
      namespace: USER_PROJECT
    type: Opaque
    data:
      DBCLUSTER_NAME: "BASE64_PASSWORD"
    
  2. Aplica el parche a 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
    

Sustituye las siguientes variables:

  • DBCLUSTER_NAME: el nombre del clúster de la base de datos.
  • USER_PROJECT: el nombre del proyecto de usuario en el que se actualizará el clúster de base de datos.
  • BASE64_PASSWORD: la codificación base64 de la contraseña de administrador de la base de datos.

La nueva contraseña tarda aproximadamente un minuto en aplicarse.

Configurar marcas de bases de datos

Las imágenes de la base de datos que se incluyen con GDC tienen ajustes predeterminados. Sin embargo, puedes personalizar el motor de base de datos predeterminado para satisfacer los requisitos de tus aplicaciones. Los clústeres de bases de datos proporcionan marcas predefinidas que puedes definir mediante la consola de GDC o la CLI de gdcloud:

Consola

  1. En el menú de navegación, selecciona Database Service (Servicio de bases de datos).

  2. En la lista de clústeres de bases de datos, haz clic en el clúster de bases de datos en el que quieras configurar las marcas de la base de datos.

  3. En la sección Instancias de tu clúster de base de datos, haz clic en Editar principal.

    Edita tu clúster de base de datos principal para configurar las marcas.

  4. En la sección Marcas, haz clic en Añadir marca de base de datos.

  5. Elige la marca e introduce el valor. Si el valor que introduces no es válido, la consola de GDC te dará instrucciones sobre cómo cumplir el intervalo o el tipo de valor necesarios.

  6. Haz clic en Listo.

  7. Para definir la configuración, haz clic en Guardar. Para que algunas marcas surtan efecto, debes reiniciar el clúster de bases de datos. En este caso, haz clic en Guardar y reiniciar.

  8. Para confirmar que se ha definido la nueva marca, vuelve a la sección Instancias de tu clúster de base de datos y comprueba que se muestran la nueva marca y el valor.

Para editar las marcas de la base de datos, vuelva a la sección Marcas y modifique las marcas que ya haya. Coloca el cursor sobre un componente de marca y haz clic en el icono Eliminar para quitar una marca de base de datos.

gdcloud

Puedes configurar nuevas marcas de base de datos para tu clúster o restablecer todas las marcas a sus valores predeterminados:

  • Para configurar una marca de base de datos en tu clúster de bases de datos, ejecuta el siguiente comando:

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

    Haz los cambios siguientes:

    • CLUSTER_NAME: el nombre del clúster de la base de datos.
    • DB_FLAGS: lista separada por comas de las marcas de la base de datos que se van a definir en la base de datos que se ejecuta en el clúster de bases de datos. Cada marca de base de datos y valor se definen como un par clave-valor. Las marcas sin valor se pueden definir sin una cadena después del carácter =.

    Por ejemplo, el siguiente comando define varias marcas de bases de datos para test-db-cluster:

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

    Para ver una lista de las marcas de bases de datos disponibles, consulta Marcas de bases de datos disponibles.

  • Para restablecer todos los indicadores de la base de datos a sus ajustes predeterminados, ejecuta el siguiente comando:

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

    Sustituye CLUSTER_NAME por el nombre del clúster de base de datos.

API

  • Para configurar marcas de bases de datos en tu clúster de bases de datos, ejecuta el siguiente comando:

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

    Sustituye las siguientes variables:

    • DBCLUSTER_NAME: el nombre del clúster de la base de datos.
    • USER_PROJECT: el nombre del proyecto de usuario en el que se creó el clúster de base de datos.
    • DB_FLAGS: los parámetros de configuración de la base de datos que se van a añadir o actualizar. Debe ser un objeto con formato JSON de pares clave-valor, donde las claves son los nombres de los parámetros de la base de datos y los valores son sus ajustes respectivos. Por ejemplo, el siguiente comando define varias marcas de bases de datos:
    "autovacuum": "on", "autovacuum_analyze_threshold": "2147483647", "dbs.enable_anon": "on"
    

    Para ver una lista de las marcas de bases de datos disponibles, consulta Marcas de bases de datos disponibles.

  • Para restablecer todos los indicadores de la base de datos a sus ajustes predeterminados, ejecuta el siguiente comando:

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

    Sustituye las siguientes variables:

    • DBCLUSTER_NAME: el nombre del clúster de la base de datos.
    • USER_PROJECT: el nombre del proyecto de usuario en el que se creó el clúster de base de datos.

Marcas de bases de datos disponibles

Bandera Intervalo Tipo Es necesario reiniciar
google_columnar_engine.enabled Activado y Desactivado Booleano TRUE
google_columnar_engine.memory_size_in_mb [128, 2147483647] Entero TRUE
anon.algorithm Cadena FALSO
anon.maskschema Cadena FALSO
anon.restrict_to_trusted_schemas Activado y Desactivado Booleano FALSO
anon.salt Cadena FALSO
anon.sourceschema Cadena FALSO
dbs.enable_anon Activado o desactivado. Booleano TRUE
dbs.enable_pg_bigm Activado o desactivado. Booleano TRUE
dbs.enable_pg_cron Activado o desactivado. Booleano TRUE
dbs.enable_pg_hint_plan Activado o desactivado. Booleano TRUE
dbs.enable_pg_squeeze Activado o desactivado. Booleano TRUE
dbs.enable_pg_wait_sampling Activado o desactivado. Booleano TRUE
pg_bigm.enable_recheck Activado y Desactivado Booleano FALSO
pg_bigm.gin_key_limit [0, 2147483647] Entero FALSO
pg_bigm.similarity_limit [0, 1] Flotante 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 Activado y Desactivado Booleano FALSO
pg_hint_plan.enable_hint_table Activado y Desactivado 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 [100, 2147483647] Entero TRUE
pg_stat_statements.save Activado y Desactivado Booleano FALSO
pg_stat_statements.track ninguno, superior, todos Enum FALSO
pg_stat_statements.track_utility Activado y Desactivado Booleano FALSO
pg_wait_sampling.history_period [1, 2147483647] Entero FALSO
pg_wait_sampling.history_size [1, 2147483647] Entero FALSO
pg_wait_sampling.profile_period [1, 2147483647] Entero FALSO
pg_wait_sampling.profile_pid Activado y Desactivado Booleano FALSO
pg_wait_sampling.profile_queries Activado y Desactivado Booleano FALSO
pgaudit.log read, write, function, role, ddl, misc, misc_set,
all, none , -read, -write, -function, -role, -ddl,
-misc, -misc_set, -all, -none
Cadena repetida FALSO
pgaudit.log_client Activado y Desactivado Booleano FALSO
pgaudit.log_parameter Activado y Desactivado Booleano FALSO
pgaudit.log_level debug5, debug4, debug3, debug2, debug1, info,
notice, warning, error, log
Enum FALSO
pgaudit.log_relation Activado y Desactivado Booleano FALSO
pgaudit.log_catalog Activado y Desactivado Booleano FALSO
pgaudit.role Cadena FALSO
pgaudit.log_statement_once Activado y Desactivado Booleano FALSO
pglogical.batch_inserts Activado y Desactivado Booleano TRUE
pglogical.conflict_log_level debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, log, fatal y panic Enum FALSO
pglogical.conflict_resolution error, apply_remote, keep_local, last_update_wins, first_update_wins Enum FALSO
pglogical.extra_connection_options Cadena FALSO
pglogical.synchronous_commit Activado y Desactivado Booleano TRUE
pglogical.use_spi Activado y Desactivado Booleano TRUE
pgtt.enabled Activado y Desactivado Booleano FALSO
plv8.execution_timeout [1, 65536] Entero FALSO
plv8.memory_limit [256, 3096] Entero FALSO
plv8.start_proc Cadena FALSO