Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Avance rapide | Suivant |
ALTER SEQUENCE nom [ INCREMENT [ BY ] increment ] [ MINVALUE valeurmin | NO MINVALUE ] [ MAXVALUE valeurmax | NO MAXVALUE ] [ RESTART [ WITH ] debut ] [ CACHE cache ] [ [ NO ] CYCLE ]
ALTER SEQUENCE modifie les paramètres d'un générateur de séquence. Tout paramètre non précisé dans la commande ALTER SEQUENCE reste à sa valeur précédente.
Le nom d'une séquence à modifier (pouvant être qualifié avec le nom du schéma).
La clause INCREMENT BY increment est en option. Une valeur positive créera une séquence ascendante, une valeur négative une séquence descendante. Si non spécifié, la valeur de l'ancien incrément reste.
La clause MINVALUE valeurmin en option détermine la valeur minimale qu'une séquence peut générer. Si NO MINVALUE est spécifié, La valeur par défaut, respectivement, de 1 et de -263-1 pour les séquences ascendantes et descendantes sera utilisée. SI aucune option n'est spécifiée, la valeur minimale courante reste.
La clause MAXVALUE valeurmax en option détermine la valeur maximale pour la séquence. Si NO MAXVALUE est spécifié, les valeurs par défaut 263-1 et -1 pour, respectivement, les séquences ascendantes et descendantes seront utilisées. Si aucune option n'est spécifiée, la valeur maximale courante reste.
La clause RESTART WITH start en option modifie la valeur actuelle de la séquence.
La clause CACHE cache active la préallocation des numéros de séquences et leur stockage en mémoire pour un accès plus rapide. La valeur minimale est de 1 (seule une valeur sera générée à la fois, donc pas de cache). Si non spécifiée, l'ancienne valeur reste.
Le mot clé CYCLE en option pourrait être utilisé pour autoriser le cycle de la séquence lorsque valeurmax ou valeurmin a été atteint par, respectivement, une séquence ascendante ou descendante. Si la limite est atteinte, le prochain numéro généré sera, respectivement, valeurmin ou valeurmax.
Si le mot clé NO CYCLE en option est spécifié, tout
appel à nextval
une fois que la séquence a atteint
sa valeur max renverra une erreur. Si ni CYCLE ni
NO CYCLE ne sont spécifiés, l'ancien comportement
persiste.
Pour éviter de bloquer des transactions concurrentes lors de la demande de numéro de la même séquence, ALTER SEQUENCE n'est jamais annulé ; les modifications prennent effet immédiatement et ne sont pas réversibles.
ALTER SEQUENCE n'affectera pas immédiatement les résultats de nextval sur les serveurs autres que celui qui a lancé la commande, s'ils ont préalloué (caché) des valeurs de la séquence. Ils utiliseront toutes les valeurs en cache avant de s'apercevoir des modifications sur les paramètres de la séquence. Le serveur qui a lancé la commande le saura immédiatement.
Précédent | Sommaire | Suivant |
ALTER SCHEMA | Niveau supérieur | ALTER TABLE |