Par défaut une séquence est créée avec une valeur positive voir : PostgreSQL : Création d'une séquence
Dans certain cas généralement lorsque la séquence à fait un cycle on peut être amené à la modifier : changer la valeur minimale , maximale , et la démarrer à une valeur déterminée libre
Réinitialisation complète, peut être fait ou doit être fait en plusieurs étapes car en un seul coup peut amener à générer un message d'erreur du type :
alter sequence toto minvalue -2147000000 maxvalue -1 restart with -2147000000 cache 1000 cycle;
ERREUR: la valeur START (10) ne peut pas être plus grande que MAXVALUE (-1)
Commande sql complète :
alter sequence <nom_séquence> minvalue <valeur_minimale_nombre_entier> maxvalue <valeur_maximale_nombre_entier> restart with <valeur_nombre_entier_généralement_on_choisit_valeur_minimale_nombre_entier> cache 1000 cycle; |
elle peut être découpée :
alter sequence <nom_séquence> minvalue <valeur_minimale_nombre_entier>; alter sequence <nom_séquence> maxvalue <valeur_maximale_nombre_entier>; alter sequence start with <valeur_nombre_entier_généralement_on_choisit_valeur_minimale_nombre_entier> cache 1000 cycle; alter sequence start with <valeur_nombre_entier_généralement_on_choisit_valeur_minimale_nombre_entier> cycle; alter sequence start with <valeur_nombre_entier_généralement_on_choisit_valeur_minimale_nombre_entier> no cycle; alter sequence start with <valeur_nombre_entier_généralement_on_choisit_valeur_minimale_nombre_entier>; |
Example :
# alter sequence toto minvalue -2147000000 maxvalue -1 restart with -2147000000 cache 1000 cycle;
ALTER SEQUENCE
\d+ toto
Séquence « public.toto »
Type | Début | Minimum | Maximum | Incrément | Cycles ? | Cache
--------+-------------+-------------+---------+-----------+----------+-------
bigint | -2147000000 | -2147000000 | -1 | 5 | yes | 1000