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

Vous pouvez modifier les attributs suivants du cluster de bases de données avec la console GDC ou la CLI gdcloud :

  • Mot de passe de la base de données pour l'utilisateur administrateur
  • Connexions externes (activées/désactivées)
  • Niveau de disponibilité
  • Sauvegarde activée et nombre de jours de conservation des sauvegardes
  • Options de base de données
  • Processeur, mémoire ou espace de stockage alloués au cluster de bases 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 Modifier 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 la durée de conservation des sauvegardes.
  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 Modifier 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, Minimale ou Personnalisée. L'option Personnalisé vous permet de choisir le nombre de processeurs, la mémoire et le 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 indicateurs disponibles est prédéterminé par GDC. Pour en savoir plus, consultez la section Configurer des options de base de données.

gdcloud CLI

Utilisez la commande suivante pour mettre à jour un cluster de bases de données : sh gdcloud database clusters update CLUSTER_NAME [options]

Remplacez les éléments suivants :

  • CLUSTER_NAME par le nom du cluster de base 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 sh 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 nombre entier compris entre 1 et 90.

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

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

Réinitialiser le mot de passe d'un utilisateur 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 accompagné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 indicateurs prédéfinis 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 Service de base de données.

  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 base de données principal pour configurer les options.

  4. Dans la section Options, cliquez sur Ajouter une option 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 indicateurs prennent effet, vous devez redémarrer le cluster de bases de données. Dans ce cas, cliquez sur Enregistrer et redémarrer.

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

Pour modifier les options de votre base de données, revenez à la section Options et modifiez les options existantes. 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 flags de base de données pour votre cluster ou réinitialiser tous les flags existants à 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 et valeur de base de données sont définis sous la forme d'une paire clé/valeur. Les indicateurs sans valeur peuvent être définis sans chaîne après le caractère =.

    Par exemple, la commande suivante définit plusieurs indicateurs de base de données pour 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éinitialiser tous les indicateurs de base de données sur leurs paramètres par défaut, 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 options 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 à modifier. Il doit s'agir d'un objet au format JSON contenant des paires clé/valeur, où les clés sont les noms des paramètres de la base de données et les valeurs 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éinitialiser tous les indicateurs de base de données sur leurs paramètres par défaut, 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éé.

Options de base de données disponibles

Option Plage Type Redémarrage requis
google_columnar_engine.enabled activé, désactivé 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 activé, désactivé 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 activé, désactivé 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 activé, désactivé Booléen FALSE
pg_hint_plan.enable_hint_table activé, désactivé 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 activé, désactivé Booléen FALSE
pg_stat_statements.track none, top, all Enum FALSE
pg_stat_statements.track_utility activé, désactivé 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 activé, désactivé Booléen FALSE
pg_wait_sampling.profile_queries activé, désactivé 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 activé, désactivé Booléen FALSE
pgaudit.log_parameter activé, désactivé Booléen FALSE
pgaudit.log_level debug5, debug4, debug3, debug2, debug1, info,
notice, warning, error, log
Enum FALSE
pgaudit.log_relation activé, désactivé Booléen FALSE
pgaudit.log_catalog activé, désactivé Booléen FALSE
pgaudit.role Chaîne FALSE
pgaudit.log_statement_once activé, désactivé Booléen FALSE
pglogical.batch_inserts activé, désactivé 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 activé, désactivé Booléen TRUE
pglogical.use_spi activé, désactivé Booléen TRUE
pgtt.enabled activé, désactivé Booléen FALSE
plv8.execution_timeout [1, 65536] Integer FALSE
plv8.memory_limit [256, 3096] Integer FALSE
plv8.start_proc Chaîne FALSE