Mettre à jour les attributs du cluster de bases de données

Vous pouvez modifier les attributs de cluster de base de données suivants à l'aide de la console GDC ou de la CLI gdcloud :

  • Mot de passe de la base de données pour l'administrateur
  • Connexions externes (activées/désactivées)
  • Niveau de disponibilité
  • Sauvegarde activée et nombre de jours de conservation des sauvegardes
  • Indicateurs de base de données
  • Processeur, mémoire ou stockage alloués au cluster de base de données

Pour savoir comment modifier un attribut, consultez le workflow correspondant au type d'attribut que vous souhaitez mettre à jour :

Console

Haute disponibilité

Activez ou désactivez la haute disponibilité dans la même zone. Pour en savoir plus, consultez la section Configurer la haute disponibilité.

Protection des données

Pour tous les types de clusters de bases de données, vous pouvez activer ou désactiver la protection des données :

  1. Accédez à Protection des données, puis cliquez sur edit Modifier pour accéder au formulaire des paramètres de protection des données. Si les sauvegardes automatiques sont activées, vous pouvez également configurer leur durée de conservation.
  2. Une fois les modifications effectuées, cliquez sur Enregistrer pour les appliquer à votre cluster de bases de données.

Connectivité

Pour tous les types de clusters de bases de données, vous pouvez choisir si le cluster de bases de données est accessible uniquement depuis le projet GDC ou s'il est également accessible depuis l'extérieur du projet :

  1. Accédez à Connectivité, puis cliquez sur edit Modifier.
  2. Mettez à jour vos configurations de connectivité.
  3. Cliquez sur Enregistrer pour appliquer les modifications.

Instances

Pour tous les types de clusters de bases de données, vous pouvez modifier les propriétés de l'instance principale :

  1. Accédez à Instance principale, puis cliquez sur Modifier Modifier.
  2. Choisissez entre les configurations Hautes performances, Standard, Minimal ou Personnalisé. L'option Personnalisé vous permet de choisir le nombre de processeurs, la mémoire et l'espace de stockage de votre instance principale.

  3. La mise à jour du processeur, de la mémoire ou du stockage de votre instance principale nécessite un redémarrage. Sélectionnez Enregistrer et redémarrer pour appliquer vos modifications.

Pour tous les types de clusters de bases de données, ce formulaire vous permet également d'ajouter, de modifier ou de supprimer des indicateurs de base de données. L'ensemble des options disponibles est prédéterminé par GDC. Pour en savoir plus, consultez la section Configurer des indicateurs de base de données.

gdcloud

Exécutez la commande suivante pour mettre à jour un cluster de bases de données :

gdcloud database clusters update CLUSTER_NAME [options]

Remplacez CLUSTER_NAME par le nom du cluster de bases de données à mettre à jour.

Pour obtenir la liste complète des options, consultez la documentation de référence sur les commandes ou exécutez la commande suivante :

gdcloud database clusters update --help

API

Protection des données

Pour tous les types de clusters de bases de données, vous pouvez activer la fonctionnalité de protection des données en créant une ressource BackupPlan pour ce cluster de bases de données.

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

Remplacez les variables suivantes :

  • DBCLUSTER_NAME : nom du cluster de bases de données pour lequel activer la protection des données.
  • USER_PROJECT : nom du projet utilisateur dans lequel le cluster de bases de données sera créé.
  • RETENTION_DAYS : nombre de jours pendant lesquels l'opérateur conserve cette sauvegarde. Il doit s'agir d'un entier compris entre 1 et 90.

Vous pouvez également configurer les paramètres de protection des données, tels que les jours de conservation, en modifiant la ressource BackupPlan correspondante.

Pour désactiver la protection des données d'un cluster de bases de données, supprimez la ressource BackupPlan correspondante que vous avez créée précédemment.

Réinitialiser le mot de passe de l'administrateur

Pour tous les types de clusters de bases de données, vous pouvez réinitialiser le mot de passe de la base de données pour l'utilisateur administrateur.

  1. Créez un secret de mot de passe.

    apiVersion: v1
    kind: Secret
    metadata:
      name: db-pw-DBCLUSTER_NAME
      namespace: USER_PROJECT
    type: Opaque
    data:
      DBCLUSTER_NAME: "BASE64_PASSWORD"
    
  2. Appliquez un correctif au 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
    

Remplacez les variables suivantes :

  • DBCLUSTER_NAME : nom du cluster de bases de données.
  • USER_PROJECT : nom du projet utilisateur dans lequel le cluster de bases de données sera mis à jour.
  • BASE64_PASSWORD : encodage en base64 du mot de passe administrateur de la base de données.

Un délai d'environ une minute est nécessaire pour que le nouveau mot de passe soit pris en compte.

Configurer des options de base de données

Les images de base de données fournies avec GDC sont dotées de paramètres par défaut. Toutefois, vous pouvez personnaliser le moteur de base de données par défaut pour répondre aux exigences de vos applications. Les clusters de bases de données fournissent des options prédéfinies que vous pouvez définir à l'aide de la console GDC ou de la CLI gdcloud :

Console

  1. Dans le menu de navigation, sélectionnez Database Service.

  2. Dans la liste des clusters de bases de données, cliquez sur celui pour lequel vous souhaitez configurer des indicateurs de base de données.

  3. Dans la section Instances dans votre cluster de bases de données, cliquez sur Modifier l'instance principale.

    Modifiez votre cluster de bases de données principal pour configurer des options.

  4. Dans la section Indicateurs, cliquez sur Ajouter un indicateur de base de données.

  5. Choisissez votre flag et saisissez la valeur. Si la valeur que vous saisissez n'est pas valide, la console GDC vous indique comment respecter la plage ou le type de valeur requis.

  6. Cliquez sur OK.

  7. Pour définir la configuration, cliquez sur Enregistrer. Pour que certains flags prennent effet, vous devez redémarrer le cluster de base de données. Dans ce cas, cliquez sur Enregistrer et redémarrer.

  8. Pour confirmer que votre nouveau flag est défini, revenez à la section Instances de votre cluster de bases de données de votre cluster de bases de données, puis vérifiez que le nouveau flag et la nouvelle valeur sont visibles.

Pour modifier vos indicateurs de base de données, revenez à la section Indicateurs et modifiez les indicateurs existants. Pointez sur un composant d'indicateur, puis cliquez sur l'icône Supprimer  pour supprimer un indicateur de base de données.

gdcloud

Vous pouvez configurer de nouveaux indicateurs de base de données pour votre cluster ou réinitialiser tous les indicateurs existants sur leurs valeurs par défaut :

  • Pour configurer un indicateur de base de données pour votre cluster de bases de données, exécutez la commande suivante :

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

    Remplacez les éléments suivants :

    • CLUSTER_NAME : nom du cluster de bases de données.
    • DB_FLAGS : liste d'indicateurs de base de données à définir sur la base de données exécutée dans le cluster de bases de données, séparés par une virgule. Chaque indicateur de base de données et chaque valeur sont définis sous forme de paire clé/valeur. Les options sans valeur peuvent être définies sans chaîne après le caractère =.

    Par exemple, la commande suivante définit plusieurs indicateurs de base de données pour l'instance test-db-cluster :

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

    Pour obtenir la liste des indicateurs de base de données disponibles, consultez Indicateurs de base de données disponibles.

  • Pour rétablir les paramètres par défaut de tous vos indicateurs de base de données, exécutez la commande suivante :

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

    Remplacez CLUSTER_NAME par le nom du cluster de bases de données.

API

  • Pour configurer des indicateurs de base de données pour votre cluster de bases de données, exécutez la commande suivante :

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

    Remplacez les variables suivantes :

    • DBCLUSTER_NAME : nom du cluster de bases de données.
    • USER_PROJECT : nom du projet utilisateur dans lequel le cluster de bases de données a été créé.
    • DB_FLAGS : paramètres de configuration de la base de données à ajouter ou à mettre à jour. Il doit s'agir d'un objet au format JSON de paires clé/valeur, où les clés sont les noms des paramètres de base de données et les valeurs sont leurs paramètres respectifs. Par exemple, la commande suivante définit plusieurs indicateurs de base de données :
    "autovacuum": "on", "autovacuum_analyze_threshold": "2147483647", "dbs.enable_anon": "on"
    

    Pour obtenir la liste des indicateurs de base de données disponibles, consultez Indicateurs de base de données disponibles.

  • Pour rétablir les paramètres par défaut de tous vos indicateurs de base de données, exécutez la commande suivante :

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

    Remplacez les variables suivantes :

    • DBCLUSTER_NAME : nom du cluster de bases de données.
    • USER_PROJECT : nom du projet utilisateur dans lequel le cluster de bases de données a été créé.

Indicateurs de base de données disponibles

Option Plage Type Redémarrage requis
google_columnar_engine.enabled on, off Booléen TRUE
google_columnar_engine.memory_size_in_mb [128, 2147483647] Integer TRUE
anon.algorithm Chaîne FALSE
anon.maskschema Chaîne FALSE
anon.restrict_to_trusted_schemas on, off Booléen FALSE
anon.salt Chaîne FALSE
anon.sourceschema Chaîne FALSE
dbs.enable_anon on, off Booléen TRUE
dbs.enable_pg_bigm on, off Booléen TRUE
dbs.enable_pg_cron on, off Booléen TRUE
dbs.enable_pg_hint_plan on, off Booléen TRUE
dbs.enable_pg_squeeze on, off Booléen TRUE
dbs.enable_pg_wait_sampling on, off Booléen TRUE
pg_bigm.enable_recheck on, off Booléen FALSE
pg_bigm.gin_key_limit [0, 2147483647] Integer FALSE
pg_bigm.similarity_limit [0, 1] Float 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 on, off Booléen FALSE
pg_hint_plan.enable_hint_table on, off Booléen 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] Integer TRUE
pg_stat_statements.save on, off Booléen FALSE
pg_stat_statements.track none, top, all Enum FALSE
pg_stat_statements.track_utility on, off Booléen FALSE
pg_wait_sampling.history_period [1, 2147483647] Integer FALSE
pg_wait_sampling.history_size [1, 2147483647] Integer FALSE
pg_wait_sampling.profile_period [1, 2147483647] Integer FALSE
pg_wait_sampling.profile_pid on, off Booléen FALSE
pg_wait_sampling.profile_queries on, off Booléen FALSE
pgaudit.log read, write, function, role, ddl, misc, misc_set,
all, none , -read, -write, -function, -role, -ddl,
-misc, -misc_set, -all, -none
Chaîne répétée FALSE
pgaudit.log_client on, off Booléen FALSE
pgaudit.log_parameter on, off Booléen FALSE
pgaudit.log_level debug5, debug4, debug3, debug2, debug1, info,
notice, warning, error, log
Enum FALSE
pgaudit.log_relation on, off Booléen FALSE
pgaudit.log_catalog on, off Booléen FALSE
pgaudit.role Chaîne FALSE
pgaudit.log_statement_once on, off Booléen FALSE
pglogical.batch_inserts on, off Booléen 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 Chaîne FALSE
pglogical.synchronous_commit on, off Booléen TRUE
pglogical.use_spi on, off Booléen TRUE
pgtt.enabled on, off Booléen FALSE
plv8.execution_timeout [1, 65536] Integer FALSE
plv8.memory_limit [256, 3096] Integer FALSE
plv8.start_proc Chaîne FALSE