ALTER POSTGRES INSTANCE¶
Modifie les propriétés d’une instance Snowflake Postgres existante.
- Voir aussi :
CREATE POSTGRES INSTANCE, DESCRIBE POSTGRES INSTANCE, DROP POSTGRES INSTANCE, SHOW POSTGRES INSTANCES
Syntaxe¶
Paramètres¶
nameIndique l’identificateur de l’instance Postgres à modifier.
Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
Pour plus d’informations, voir Exigences relatives à l’identificateur.
RENAME TO new_nameRemplace le nom de l’instance Postgres par le nouveau nom spécifié. Le nouvel identificateur doit être unique pour le compte.
Pour plus de détails sur les identificateurs, voir Exigences relatives à l’identificateur.
RESET ACCESS FOR { 'snowflake_admin' | 'application' }Régénère les identifiants de connexion pour le rôle
snowflake_adminouapplication. Renvoie une seule ligne avec la colonne suivante :password
Pour plus d’informations, voir Rôles Snowflake Postgres.
SET ...Définit une ou plusieurs propriétés spécifiées pour l’instance Postgres :
NETWORK_POLICY = 'network_policy'Spécifie la politique réseau à utiliser pour l’instance. Les modifications de la politique peuvent prendre jusqu’à 2 minutes pour prendre effet.
Pour spécifier ce paramètre, vous devez disposer du privilège USAGE sur l’objet de politique réseau.
AUTHENTICATION_AUTHORITY = { POSTGRES | POSTGRES_OR_SNOWFLAKE }Change the authentication method for the instance. POSTGRES indicates that only Postgres user passwords can be used. POSTGRES_OR_SNOWFLAKE also allows the use of short-lived access token passwords. See Authentification par jeton Snowflake pour Snowflake Postgres for more details.
COMMENT = 'string_literal'Ajoute ou écrase un commentaire existant pour l’instance Postgres.
HIGH_AVAILABILITY = { TRUE | FALSE }Active ou désactive la haute disponibilité pour l’instance. S’exécute comme une opération asynchrone. Exécutez la commande DESCRIBE POSTGRES INSTANCE et surveillez le champ
operationspour suivre la progression.Un changement de haute disponibilité peut uniquement être initié si l’instance se trouve en état READY et qu’aucune autre opération n’est en cours.
Note
Les tailles des instances Burstable (BURST_XS, BURST_S, BURST_M) ne prennent pas en charge la haute disponibilité. Pour activer HA, vous devez d’abord passer à une famille de calcul STANDARD ou HIGHMEM.
COMPUTE_FAMILY = 'compute_family'Spécifie la nouvelle taille de l’instance pour l’instance Postgres.
STORAGE_SIZE_GB = storage_gbSpécifie la nouvelle taille de stockage en GB. Les augmentations et les diminutions sont prises en charge.
Note
When you decrease the storage size, you can’t set it too close to current disk usage. The new size must be at least 1.4x the disk space currently in use. That way, there’s still room to add more data without triggering an automatic storage increase.
STORAGE_INTEGRATION = 'storage_integration_name'Attache une intégration de stockage de type
POSTGRES_EXTERNAL_STORAGEà l’instance Postgres, permettant à l’extension pg_lake d’accéder aux données d’un stockage externe d’objets. Pour la procédure de configuration complète, consultez Configuration du stockage S3 pour pg_lake.POSTGRES_VERSION = { 16 | 17 | 18 }Spécifie la version principale de Postgres vers laquelle mettre à niveau. Vous pouvez uniquement effectuer une mise à niveau vers une version plus récente. La rétrogradation n’est pas prise en charge.
MAINTENANCE_WINDOW_START = hour_of_dayIndique l’heure de la journée (0-23, UTC) à laquelle une fenêtre de maintenance peut débuter. Les fenêtres de maintenance durent trois heures et commencent à l’heure indiquée.
POSTGRES_SETTINGS = 'json_string'Spécifie les modifications apportées aux paramètres du serveur Postgres pour l’instance au format JSON :
Certains paramètres nécessitent un redémarrage de l’instance pour prendre effet. Ces modifications ne seront pas appliquées sauf si vous spécifiez
APPLY IMMEDIATELY.APPLY IMMEDIATELYRemplace toute fenêtre de maintenance définie et applique les opérations spécifiées dès qu’elles sont prêtes. S’applique à
COMPUTE_FAMILY,STORAGE_SIZE_GB,POSTGRES_VERSIONetPOSTGRES_SETTINGS.APPLY ON 'timestamp'Remplace toute fenêtre de maintenance définie et applique les opérations spécifiées à l’horodatage donné. L’horodatage ne peut pas se situer plus de 72 heures dans le futur.
Formats d’horodatage pris en charge :
yyyy-MM-ddyyyy-MM-dd HH:mmyyyy-MM-dd HH:mm:ssyyyy-MM-dd HH:mm zzz
UNSET ...Annule la définition d’une ou plusieurs propriétés spécifiées pour l’instance Postgres, les réinitialisant à leurs valeurs par défaut :
COMMENTPOSTGRES_SETTINGSNETWORK_POLICYMAINTENANCE_WINDOW_START- La désactivation entraîne l’application immédiate de toutes les opérations en cours dès qu’elles sont terminées.STORAGE_INTEGRATION- Supprime l’intégration de stockage de l’instance, désactivant l’accès de pg_lake au stockage externe.
Pour désactiver plusieurs propriétés ou paramètres via une seule instruction ALTER, séparez chaque propriété ou paramètre par une virgule.
Lorsque vous désactivez une propriété ou un paramètre, spécifiez uniquement le nom de propriété ou de paramètre (sauf si la syntaxe ci-dessus indique que vous devez spécifier la valeur). La spécification de la valeur renvoie une erreur.
SUSPENDSuspend l’instance Postgres. La machine virtuelle est désactivée, mais l’image disque reste stockée. La facturation normale est suspendue, mais les coûts de stockage continuent de s’accumuler. Les sauvegardes existantes sont conservées.
RESUMEReprend une instance de Postgres suspendue. S’il y avait des opérations en attente de redémarrage, elles sont appliquées lors de la reprise de l’instance.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]Spécifie le nom de la balise et la valeur de la chaîne de la balise.
La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.
Pour plus d’informations sur la spécification des balises dans une instruction, voir Quotas de balises.
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :
Privilège |
Objet |
Remarques |
|---|---|---|
OWNERSHIP ou OPERATE |
Instance Postgres |
Nécessaire pour modifier les propriétés de l’instance. |
USAGE |
Politique réseau |
Requis uniquement si vous spécifiez une NETWORK_POLICY. |
USAGE |
Intégration de stockage |
Requis uniquement si vous spécifiez une STORAGE_INTEGRATION. |
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Notes sur l’utilisation¶
Les modifications apportées à
COMPUTE_FAMILY,STORAGE_SIZE_GBetPOSTGRES_VERSIONsont collectivement appelées opérations de « mise à niveau » et peuvent être effectuées ensemble. Exécutez la commande DESCRIBE POSTGRES INSTANCE et surveillez le champoperationspour suivre la progression.Une opération de mise à niveau peut uniquement être lancée si l’instance se trouve en état READY et qu’aucune autre opération n’est en cours.
Si une instance dispose d’une fenêtre de maintenance définie, les modifications ne prendront pas effet avant le début de la période de maintenance, à moins que
APPLY IMMEDIATELYsoit spécifié. Les fenêtres de maintenance déterminent à quel moment les modifications sont appliquées, et non si l’instance est en cours d’exécution. Pour plus de détails sur les opérations de maintenance, voir Gestion des instances Snowflake Postgres.Une brève interruption de service est nécessaire pour effectuer des opérations de gestion des instances. Assurez-vous que vos applications sont en mesure de se reconnecter automatiquement à la base de données.
SUSPEND et RESUME sont des opérations immédiates pour arrêter et démarrer la facturation des instances. Elles se distinguent des fenêtres de maintenance, qui déterminent le moment où les modifications de configuration (telles que les mises à niveau ou l’activation HA) prennent effet.
La chaîne de connexion d’une instance reste la même à travers les opérations de gestion de l’instance, sauf si vous régénérez explicitement les identifiants de connexion.
Concernant les métadonnées :
Attention
Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.
Exemples¶
Modifier la famille de calcul et la taille de stockage d’une instance Postgres :
Surveiller la progression de l’opération à l’aide de DESCRIBE :
Activer la haute disponibilité pour une instance :
Mettre à niveau vers Postgres 18 :
Appliquer les modifications immédiatement, en remplaçant la fenêtre de maintenance :
Suspendre une instance Postgres :
Reprendre une instance suspendue :
Renommer une instance Postgres :
Note
Le renommage d’une instance modifie son identificateur dans Snowflake, mais ne modifie pas le nom d’hôte de la connexion. Le nom d’hôte reste le même, de sorte que les connexions et les applications existantes continuent de fonctionner sans modification.
