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 :
- 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.
- 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 :
- Accédez à Connectivité, puis cliquez sur edit Modifier.
- Mettez à jour vos configurations de connectivité.
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 :
- Accédez à Instance principale, puis cliquez sur Modifier Modifier.
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.
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.
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"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
Dans le menu de navigation, sélectionnez Database Service.
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.
Dans la section Instances dans votre cluster de bases de données, cliquez sur Modifier l'instance principale.

Dans la section Indicateurs, cliquez sur Ajouter un indicateur de base de données.
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.
Cliquez sur OK.
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.
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_FLAGSRemplacez 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=1Pour 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-flagsRemplacez
CLUSTER_NAMEpar 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_PROJECTRemplacez 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_PROJECTRemplacez 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 |