Actualiza los atributos del clúster de la base de datos

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

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

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

Console

Alta disponibilidad

Habilita o inhabilita la alta disponibilidad en la misma zona. Consulta la sección Configura la alta disponibilidad para obtener más información.

Protección de Datos

Para todos los tipos de clústeres de bases de datos, puedes habilitar o inhabilitar la 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 se habilitan las copias de seguridad automáticas, también puedes configurar el tiempo que se conservarán.
  2. Después de realizar los cambios, haz clic en Guardar para que se apliquen las actualizaciones a tu clúster de base de datos.

Conectividad

Para todos los tipos de clústeres de bases de datos, puedes elegir si se puede acceder al clúster de bases de datos solo desde el interior 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 la configuración de conectividad.
  3. Haz clic en Guardar para aplicar los cambios.

Instancias

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

  1. Ve a Instancia principal y haz clic en editar Editar.
  2. Elige entre los parámetros de configuración Alto rendimiento, Estándar, Mínimo o Personalizado. La opción Personalizada te permite elegir la cantidad de CPU, memoria y almacenamiento para tu instancia principal.

  3. Para actualizar la CPU, la memoria o el almacenamiento de tu instancia principal, deberás reiniciarla. Selecciona Guardar y reiniciar para aplicar los cambios.

Para todos los tipos de clústeres de bases de datos, este formulario también te permite agregar, modificar o quitar marcas de bases de datos. GDC predetermina el conjunto de marcas disponibles. Consulta la sección Configura marcas de base de datos para obtener más información.

gdcloud CLI

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

Reemplaza lo siguiente:

  • CLUSTER_NAME con el nombre del clúster de base de datos que se 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

Para todos los tipos de clústeres de bases de datos, puedes 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

Reemplaza las siguientes variables:

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

También puedes configurar parámetros de protección de datos, como los días de retención, editando el recurso BackupPlan correspondiente.

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

Restablece la contraseña del usuario administrador

Para todos los tipos de clústeres de bases de datos, puedes restablecer la contraseña de la base de datos para el 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 un parche al 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
    

Reemplaza las siguientes variables:

  • DBCLUSTER_NAME: Es el nombre del clúster de la base de datos.
  • USER_PROJECT: Es el nombre del proyecto del usuario en el que se actualizará el clúster de la base de datos.
  • BASE64_PASSWORD: Es la codificación en Base64 de la contraseña del 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 parámetros de configuración 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 establecer con la consola de GDC o la CLI de gdcloud:

Console

  1. En el menú de navegación, selecciona Database Service.

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

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

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

  4. En la sección Marcas, haz clic en Agregar una marca de base de datos.

  5. Elige tu marca y, luego, ingresa el valor. Si el valor que ingresas no es válido, la consola de GDC te brinda instrucciones para cumplir con el rango o el tipo de valor requeridos.

  6. Haz clic en Listo.

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

  8. Para confirmar que se estableció la nueva marca, vuelve a la sección Instances in your database cluster de tu clúster de base de datos y verifica que se vean la nueva marca y el valor.

Para editar las marcas de la base de datos, vuelve a la sección Marcas y modifica las marcas existentes. Coloca el cursor sobre un componente de la marca y haz clic en el ícono Borrar para quitar una marca de base de datos.

gdcloud

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

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

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

    Reemplaza lo siguiente:

    • CLUSTER_NAME: Es el nombre del clúster de la base de datos.
    • DB_FLAGS: Es la lista separada por comas de las marcas de base de datos que se establecerán 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 establecen 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 establece varias marcas de base 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 obtener una lista de las marcas de base de datos disponibles, consulta Marcas de base de datos disponibles.

  • Para restablecer todas las marcas de la base de datos a su configuración predeterminada, ejecuta el siguiente comando:

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

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

API

  • Para configurar marcas de base de datos para tu clúster de base 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
    

    Reemplaza las siguientes variables:

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

    Para obtener una lista de las marcas de base de datos disponibles, consulta Marcas de base de datos disponibles.

  • Para restablecer todas las marcas de la base de datos a su configuración predeterminada, 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
    

    Reemplaza las siguientes variables:

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

Marcas de bases de datos disponibles

Marca Rango Tipo Se debe reiniciar
google_columnar_engine.enabled Encendido, apagado Booleano TRUE
google_columnar_engine.memory_size_in_mb [128, 2147483647] Número entero TRUE
anon.algorithm String FALSO
anon.maskschema String FALSO
anon.restrict_to_trusted_schemas Encendido, apagado 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 Encendido, apagado Booleano FALSO
pg_bigm.gin_key_limit [0, 2147483647] Número entero FALSO
pg_bigm.similarity_limit [0, 1] Número de punto 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 Encendido, apagado Booleano FALSO
pg_hint_plan.enable_hint_table Encendido, apagado 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] Número entero TRUE
pg_stat_statements.save Encendido, apagado Booleano FALSO
pg_stat_statements.track ninguno, superior, todos Enum FALSO
pg_stat_statements.track_utility Encendido, apagado Booleano FALSO
pg_wait_sampling.history_period [1, 2147483647] Número entero FALSO
pg_wait_sampling.history_size [1, 2147483647] Número entero FALSO
pg_wait_sampling.profile_period [1, 2147483647] Número entero FALSO
pg_wait_sampling.profile_pid Encendido, apagado Booleano FALSO
pg_wait_sampling.profile_queries Encendido, apagado 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 Encendido, apagado Booleano FALSO
pgaudit.log_parameter Encendido, apagado Booleano FALSO
pgaudit.log_level debug5, debug4, debug3, debug2, debug1, info,
notice, warning, error, log
Enum FALSO
pgaudit.log_relation Encendido, apagado Booleano FALSO
pgaudit.log_catalog Encendido, apagado Booleano FALSO
pgaudit.role String FALSO
pgaudit.log_statement_once Encendido, apagado Booleano FALSO
pglogical.batch_inserts Encendido, apagado 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 Encendido, apagado Booleano TRUE
pglogical.use_spi Encendido, apagado Booleano TRUE
pgtt.enabled Encendido, apagado Booleano FALSO
plv8.execution_timeout [1, 65536] Número entero FALSO
plv8.memory_limit [256, 3096] Número entero FALSO
plv8.start_proc String FALSO