Gestion des instances Snowflake Postgres¶
Snowflake Postgres vous aide à gérer vos instances avec une variété d’opérations de gestion d’instances. Ces opérations sont des formes de maintenance qui gardent vos instances opérationnelles et sécurisées.
Une brève interruption de service est nécessaire pour effectuer des opérations de gestion des instances. Veuillez vous assurer que vos applications sont en mesure de se reconnecter automatiquement à la base de données.
Note
La chaîne de connexion d’une instance restera la même dans les opérations de gestion de l’instance, sauf si vous faites tourner explicitement les identifiants de connexion.
Lorsque cela est nécessaire pour garantir la santé de votre instance, nous pouvons planifier des opérations de maintenance en votre nom (par exemple, pour modifier la taille de stockage de l’instance).
Pour une description détaillée de la manière dont la maintenance des instances est effectuée par notre plateforme, voir Maintenance Snowflake Postgres.
Opérations disponibles¶
Les opérations suivantes sont disponibles à partir du menu déroulant Manage sur la page des détails de votre instance dans le tableau de bord :
Dupliquer - Créer une nouvelle instance à partir d’une instance existante
Modifier - Modification de la taille de l’instance, de la taille de stockage ou de la version Postgres de l’instance
Activer la haute disponibilité - Activer la haute disponibilité pour l’instance
Créer une réplique - Créer un réplica de l’instance
Suspension et reprise de l’instance - Faites pivoter le serveur Postgres mais conservez les données sur le disque
Redémarrage des services - Redémarrer au choix PostgreSQL ou l’intégralité du serveur sous-jacent
Régénérer les identifiants de connexion - Régénérer les identifiants de connexion de l’instance
Dupliquer¶
Vous pouvez dupliquer une instance pour créer une nouvelle instance à partir d’une instance existante, en choisissant éventuellement un point dans le temps pour le faire. Par défaut, la nouvelle instance sera dupliquée à partir de l’état actuel de l’instance source. En savoir plus sur la duplication dans Récupération ponctuelle Snowflake Postgres.
Modifier¶
Pour apporter une modification à une instance Snowflake Postgres existante, vous devez utiliser un rôle qui a reçu le privilège OWNERSHIP ou OPERATE sur cette instance.
Vous pouvez redimensionner une instance sur place avec un impact minimal et aucune modification de votre chaîne de connexion. Lors du redimensionnement d’une instance, vous pouvez :
Changer la taille de COMPUTE_FAMILY.
Modifier la quantité de stockage. Les augmentations et les diminutions de la taille de stockage sont prises en charge.
Mettre à niveau la version Postgres vers une version majeure plus récente.
La modification de la configuration de votre instance nécessite une maintenance. Pour plus d’informations, voir Maintenance Snowflake Postgres.
Pour apporter une modification :
Dans le menu de navigation, sélectionnez Postgres.
Sélectionnez votre instance.
Dans le menu Manage en haut à droite, sélectionnez Modify.
Sélectionner le nouveau COMPUTE_FAMILY et/ou la taille de stockage dans les menus déroulants. Voir Mises à niveau de la version majeure de Postgres pour plus d’informations sur la modification de la version Postgres.
Sélectionnez le bouton Save pour confirmer les modifications.
Exécutez la commande ALTER POSTGRES INSTANCE pour apporter des modifications à la configuration d’une instance Snowflake Postgres.
Note
Les modifications de l’instance sont appliquées comme une opération asynchrone.
Pour vérifier l’état de l’opération, exécutez la commande DESCRIBE POSTGRES INSTANCE.
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> SET [ NETWORK_POLICY = <policy_name> ] [ COMMENT = '<string_literal>' ] [ HIGH_AVAILABILITY = { TRUE | FALSE } ] [ COMPUTE_FAMILY = <compute_family> ] [ STORAGE_SIZE_GB = <storage_gb> ] [ POSTGRES_VERSION = { 16 | 17 } ]; [ MAINTENANCE_WINDOW_START = <hour_of_day> ] [ POSTGRES_SETTINGS = '<json_string>'] [ APPLY { IMMEDIATELY | ON '<timestamp>' } ] ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> UNSET { COMMENT | POSTGRES_SETTINGS | NETWORK_POLICY | MAINTENANCE_WINDOW_START } [ , ... ]
NETWORK_POLICY = policy_nameSpé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 NETWORK_POLICY.
HIGH_AVAILABILITY = { TRUE | FALSE }Active Snowflake Postgres High Availability pour l’instance. S’exécute comme une opération asynchrone. DESCRIBE peut être utilisé pour suivre sa progression dans le champ des opérations. Un changement de HA ne peut être initié que si l’instance se trouve dans l’état READY et peut ne pas être initiés si une autre opération est en cours (y compris une activation/désactivation de HA)
Par défaut :
FALSECOMPUTE_FAMILY = compute_family.STORAGE_SIZE_GB = storage_gb.POSTGRES_VERSION = 16 | 17
Ces opérations sont collectivement appelées opérations de « mise à niveau » et sont effectuées ensemble.
DESCRIBE POSTGRES INSTANCEpeut être utilisé pour suivre sa progression dans le champ des opérationsUne opération de mise à niveau peut uniquement être lancée si l’instance se trouve dans l’état READY et peut ne pas être initiée si une autre opération est en cours
Si une instance possède une fenêtre de maintenance définie, les modifications ne prendront pas effet avant la période de la fenêtre de maintenance, à moins que
APPLY IMMEDIATELYa été spécifié pour remplacer la fenêtre de maintenance.POSTGRES_SETTINGS = 'json_string'Spécifie les modifications apportées aux paramètres Postgres pour l’instance. Spécifiez les paramètres d’une chaîne au format JSON avec la structure suivante :
'{"component:name" = "value", ...}'Les modifications apportées à certains des paramètres Postgres peuvent nécessiter un redémarrage d’instance pour prendre effet. Ces modifications ne prendront effet que si vous indiquez
APPLY IMMEDIATELYdans l’instruction ALTER POSTGRES INSTANCE. Pour connaître la liste des paramètres nécessitant un redémarrage, consultez le tableau dans. Paramètres Postgres.MAINTENANCE_WINDOW_START = hour_or_dayL’heure souhaitée de la journée à laquelle une fenêtre de maintenance peut éventuellement commencer. Il doit s’agir d’un nombre entier compris entre 0 et 23 représentant l’heure de la journée à laquelle la maintenance est autorisée à démarrer, avec 0 représentant minuit UTC. Les fenêtres de maintenance sont de trois heures à partir de l’heure spécifiée. La désactivation d’une fenêtre de maintenance existante entraîne l’application de toutes les opérations en cours dès qu’elles sont terminées.
APPLY IMMEDIATELYSi le cluster dispose d’une fenêtre de maintenance définie,
APPLY IMMEDIATELYremplace la fenêtre de maintenance pour toutes les opérations spécifiées à appliquer dès qu’elles sont prêtes.APPLY IMMEDIATELYs’applique uniquement àCOMPUTE_FAMILY,STORAGE_SIZE_GB,POSTGRES_VERSION, etPOSTGRES_SETTINGS. Pour toutes les autres options, elle est ignorée.APPLY ON 'timestamp'Si le cluster dispose d’une fenêtre de maintenance définie,
APPLY ONremplace la fenêtre de maintenance pour toutes les opérations spécifiées à appliquer à l’horodatage fourni.APPLY IMMEDIATELYne peut pas être spécifié avecPOSTGRES_SETTINGS. L’horodatage spécifié ne peut pas dépasser 72 heures dans le futur et peut se présenter sous les formes suivantes :
aaaa-MM-dd
aaaa-MM-dd HH:mm
aaaa-MM-dd HH:mm:ss
aaaa-MM-dd HH:mm zzz
Modification d’exemples d’instances Postgres
Changez la valeur de COMPUTE_FAMILY d’une instance existante sur STANDARD_M et la taille de stockage à 100GB en une seule opération :
ALTER POSTGRES INSTANCE my_instance
SET COMPUTE_FAMILY = 'STANDARD_M'
STORAGE_SIZE_GB = 100;
Si vous prévoyez de réduire la taille de stockage de votre instance, veuillez noter que nous autorisons actuellement le redimensionnement supérieur ou égal à 1,4x l’utilisation actuelle du disque afin de réduire les alertes et le redimensionnement immédiat.
Mises à niveau de la version majeure de Postgres¶
Snowflake Postgres vous permet de planifier les mises à niveau de vos versions majeures via le tableau de bord. Pour effectuer cette modification, vous utiliserez le même processus que pour un redimensionnement d’instance. La mise à niveau de votre instance vers une nouvelle version majeure nécessite une opération de maintenance. Voir Maintenance Snowflake Postgres pour des informations générales sur la maintenance, et ci-dessous pour des informations plus spécifiques sur les mises à niveau des versions majeures.
Pour initier une mise à niveau de version majeure, vous devez utiliser un rôle qui a reçu le privilège OWNERSHIP ou OPERATE sur l’instance.
Note
Vous ne pouvez effectuer que la mise à niveau vers une version majeure plus récente - vous ne pouvez pas passer à une version majeure antérieure.
Note
Vous pouvez combiner une mise à niveau de version majeure avec un redimensionnement d’instance en sélectionnant une nouvelle taille d’instance et/ou une nouvelle taille de stockage en même temps.
Dans le menu de navigation, sélectionnez Postgres.
Sélectionnez votre instance Snowflake Postgres.
Dans le menu Manage en haut à droite, sélectionnez Modify.
Si une version plus récente est disponible, vous pourrez la sélectionner dans le menu déroulant des versions Postgres.
Sélectionnez le bouton Save pour confirmer la modification.
Vous pouvez lancer une mise à niveau de version majeure avec la commande ALTER POSTGRES INSTANCE, en définissant le paramètre POSTGRES_VERSION sur la version souhaitée.
ALTER POSTGRES INSTANCE [IF EXISTS] <name>
SET POSTGRES_VERSION = { 16 | 17 }
POSTGRES_VERSION = { 16 | 17 }Version Postgres souhaitée vers laquelle effectuer la mise à niveau.
Exemple : Mettre à niveau une instance existante vers PostgreSQL 17
ALTER POSTGRES INSTANCE my_instance
SET POSTGRES_VERSION = 17;
Exemple : Combiner une mise à niveau de version majeure avec une augmentation de la taille de stockage
ALTER POSTGRES INSTANCE my_instance
SET POSTGRES_VERSION = 17
STORAGE_SIZE_GB = 100;
Les mises à niveau des versions majeures Postgres fonctionnent différemment des autres opérations de gestion des instances. Une fois le processus lancé, Snowflake Postgres exécutera les étapes suivantes :
Créez une réplique « masquée » (non visible par les utilisateurs) de votre instance actuelle.
Migrez les données existantes de l’instance source vers la réplique masquée (la durée dépend de la taille des données).
Lorsque votre fenêtre de maintenance arrive :
Verrouillez l’instance source pour empêcher les écritures.
Mettez à niveau la réplique masquée (la durée dépend du nombre d’objets dans votre base de données, et non de la taille des données).
Basculez vers l’instance nouvellement mise à niveau une fois la mise à niveau terminée.
Remarques importantes :
Les modifications majeures de la version peuvent affecter la compatibilité des applications. Nous vous recommandons de tester votre application par rapport à la nouvelle version PostgreSQL avant la mise à niveau.
Les répliques en lecture sont automatiquement mises à niveau lors de la mise à niveau d’une version majeure, mais uniquement une fois que la version principale est mise à niveau et qu’une nouvelle sauvegarde est effectuée. Jusqu’à cette date, les répliques resteront disponibles, mais dans un état obsolète.
Si vous n’avez pas défini de fenêtre de maintenance et que vous n’avez pas spécifié de durée d’exécution, la mise à niveau commencera dès que la nouvelle instance sera renseignée et prête.
Cette opération entraîne une interruption de service qui ne devrait pas durer plus de quelques minutes.
Si une mise à niveau échoue, votre instance reviendra automatiquement à l’instance d’origine.
Activer Haute disponibilité¶
Lorsque Haute disponibilité (HA) est activé dans votre instance avec un hôte en veille qui remplacera l’hôte principal si votre hôte principale devient indisponible. Pour en savoir plus, consultez Snowflake Postgres High Availability.
Créer une réplique¶
Vous pouvez créer une réplique de votre instance à partir du tableau de bord. Une réplique est une copie en lecture seule de l’instance source qui est synchronisée avec l’instance source. En savoir plus sur la création et l’utilisation de répliques dans Répliques de lecture Snowflake Postgres.
Suspension et reprise de l’instance¶
La suspension d’une instance désactive la machine virtuelle sur laquelle elle s’exécute tout en conservant son image disque dans le stockage afin que l’instance puisse être reprise. La facturation normale de l’instance est suspendue, mais les coûts de stockage continueront. Les 10 jours existants de sauvegardes sont également conservés.
Si des opérations étaient en attente de redémarrage de l’instance pour être appliquées, elles seront appliquées lors de la reprise de l’instance.
Pour suspendre ou reprendre une instance Snowflake Postgres, vous devez utiliser un rôle qui a reçu le privilège OWNERSHIP ou OPERATE sur l’instance.
Pour suspendre une instance Snowflake Postgres, exécutez ALTER POSTGRES INSTANCE … SUSPEND :
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> SUSPEND
Ces opérations sont asynchrones. La commande DESCRIBE peut être utilisée pour suivre l’état de ces opérations.
Exemple : Suspendre une instance de Snowflake Postgres nommée my_instance
ALTER POSTGRES INSTANCE my_instance SUSPEND;
Vous pouvez reprendre une instance suspendue à tout moment. Le temps nécessaire à la reprise d’une instance dépend de l’instance et de la taille de l’ensemble de données. Lorsque vous reprenez une instance, la facturation normale et les sauvegardes recommencent également.
Pour reprendre une instance Snowflake Postgres, exécutez ALTER POSTGRES INSTANCE … RESUME :
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> RESUMECes opérations sont asynchrones. La commande DESCRIBE peut être utilisée pour suivre l’état de ces opérations.
Exemple : Reprendre une instance Snowflake Postgres nommée my_instance
ALTER POSTGRES INSTANCE my_instance RESUME;
Redémarrer les services¶
Vous pouvez redémarrer PostgreSQL ou le serveur sous-jacent qui exécute votre instance Postgres si nécessaire. Ce type d’opération de gestion d’instance redémarre le serveur sur place, sans créer de réplique ni effectuer de basculement. En savoir plus sur le redémarrage des services dans Maintenance Snowflake Postgres.
Régénérer les identifiants de connexion¶
La génération des identifiants de connexion renverra une nouvelle chaîne de connexion pour votre instance de base de données, remplaçant ainsi les identifiants de connexion existants. En savoir plus sur ce sujet dans Rôles Snowflake Postgres.
Paramètres de configuration personnalisés¶
Vous pouvez modifier de nombreux paramètres de serveur Postgres pour vos instances Postgres Snowflake. Vous pouvez voir la liste des paramètres de configuration disponibles dans Paramètres du serveur Snowflake Postgres.
Pour modifier les paramètres Postgres d’une instance Snowflake Postgres Snowflake, vous devez utiliser un rôle auquel a été attribué le privilège OWNERSHIP ou OPERATE sur cette instance.
Pour apporter une modification :
Dans le menu de navigation, sélectionnez Postgres
Sélectionner votre instance
Sur le côté droit de la page, sélectionnez l’icône de modification en regard de Custom parameters
Choisissez les paramètres de configuration dans la liste ou utilisez la boîte de recherche pour trouver des paramètres spécifiques.
Saisissez la nouvelle valeur pour le paramètre de configuration.
Lorsque vous avez terminé d’ajouter de nouvelles valeurs pour les paramètres, cliquez sur Continue to review, puis cliquez sur Submit pour confirmer les modifications.
ALTER POSTGRES INSTANCE [IF EXISTS] <name>
SET POSTGRES_SETTINGS = '{JSON_string}'
[ APPLY IMMEDIATELY ];
POSTGRES_SETTINGS = 'json_string'Spécifie les modifications apportées aux paramètres Postgres pour l’instance. Spécifiez les paramètres d’une chaîne au format JSON avec la structure suivante :
'{"component:name" = "value", ...}'Les modifications apportées à certains des paramètres Postgres peuvent nécessiter un redémarrage d’instance pour prendre effet. Ces modifications ne prendront effet que si vous indiquez
APPLY IMMEDIATELYdans l’instruction ALTER POSTGRES INSTANCE. Pour connaître la liste des paramètres nécessitant un redémarrage, consultez le tableau dans. Paramètres Postgres.
Exemple : Définissez le paramètre de configuration workflow_mem sur 128MB pour une instance de Snowflake Postgres nommée my_instance
ALTER POSTGRES INSTANCE my_instance SET POSTGRES_SETTINGS = ( 'work_mem' = '128MB' );
États d’instance¶
Toute opération de gestion d’instance, qu’il s’agisse de la création d’une nouvelle instance ou de la modification d’une instance existante, prend un certain temps. La durée exacte dépend de nombreux facteurs, notamment de la taille de vos données et de votre schéma, ainsi que de l’activité de votre instance. L’état d’une instance vous donne un aperçu de la progression d’une opération en cours. Il est indiqué dans le tableau de bord, ou vous pouvez le vérifier en exécutant la commande DESCRIBE POSTGRES INSTANCE.
Les états d’instance possibles sont répertoriés ci-dessous. Lors d’une opération de modification d’instance, l’instance de remplacement passe par tous les états énumérés dans la première table. Une nouvelle instance créée passe par certains états de la liste, mais pas tous. Le tableau suivant énumère certains états supplémentaires que vous pouvez voir pendant les opérations normales.
États vus lors de la création, de la modification et de la duplication :
État |
Que se passe-t-il ? |
Durée typique |
État suivant |
|---|---|---|---|
Création |
Un nouveau serveur sous-jacent est en cours de création |
1-2 minutes |
Restauration |
Restauration |
La dernière sauvegarde de base est en cours de restauration sur le serveur |
Variable |
Début |
Démarrage** |
Postgres est en cours de démarrage sur l’instance et les WAL qui se sont accumulés pendant l’application de la sauvegarde de base sont appliqués |
Variable |
Relecture |
Relecture |
Les WAL accumulés depuis la dernière sauvegarde de base sont en cours de relecture |
Variable |
Finalisation |
Finalisation |
La configuration des instances est en cours de finalisation et le serveur est mis à disposition |
1-2 minutes |
Prêt |
Prêt |
La nouvelle instance correspond à l’instance source et est prête pour la suite de l’opération. Si une fenêtre de maintenance est planifiée pour une fenêtre de maintenance à venir, l’instance est conservée avec l’état |
N/A |
N/A |
Autres états d’instance que vous pouvez voir sur la plateforme :
État |
Que se passe-t-il ? |
Durée typique |
État suivant |
|---|---|---|---|
Redémarrage |
Le serveur sous-jacent est en cours de redémarrage |
1-2 minutes |
Prêt |
Reprise |
Un nouveau serveur est en cours de construction et une instance suspendue est reprise |
3-5 minutes |
Prêt |
Suspension |
Instance en cours de suspension |
3-5 minutes |
Suspendu |
Suspendu |
L’instance est actuellement suspendue |
Jusqu’à la reprise |
Reprise… |

