Cette rubrique explique comment utiliser l'extension sequential-uuids. ApsaraDB RDS for PostgreSQL fournit cette extension pour générer des UUID selon un ordre plus séquentiel.
Prérequis
-
Votre instance RDS exécute l'une des versions de moteur de base de données suivantes :
PostgreSQL 10 ou version ultérieure.
La version mineure du moteur de votre instance RDS est 20220228 ou ultérieure. Si votre instance RDS exécute PostgreSQL 17, la version mineure du moteur doit être 20241030 ou ultérieure. Pour plus d'informations sur la mise à jour de la version mineure du moteur d'une instance RDS, consultez Mettre à jour la version mineure du moteur.
Vous devez utiliser un compte privilégié pour vous connecter à votre instance RDS. Vérifiez le type de compte utilisé sur la page Accounts de la console ApsaraDB RDS. S'il s'agit d'un compte standard, créez un compte privilégié et utilisez-le pour vous connecter à votre instance RDS. Pour plus d'informations, consultez Créer un compte.
Activer ou désactiver l'extension
-
Exécutez l'instruction suivante pour activer l'extension sequential-uuids :
CREATE EXTENSION sequential_uuids; -
Exécutez l'instruction suivante pour désactiver l'extension sequential-uuids :
DROP EXTENSION sequential_uuids;
Exemples
Cette extension propose deux fonctions pour générer des UUID séquentiels à l'aide de séquences ou d'horodatages.
Pour plus d'informations sur l'utilisation de l'extension et des paramètres associés, consultez Sequential UUID generators.
-
La fonction uuid_sequence_nextval
Syntaxe :
uuid_sequence_nextval(sequence regclass, block_size int default 65536, block_count int default 65536)Exemple d'instruction :
CREATE SEQUENCE s; SELECT uuid_sequence_nextval('s'::regclass, 256, 256);Résultat :
uuid_sequence_nextval -------------------------------------- 00cf26f7-ef7a-4746-8871-08b9c475713e (1 row) -
La fonction uuid_time_nextval
Syntaxe :
uuid_time_nextval(interval_length int default 60, interval_count int default 65536) RETURNS uuidExemple d'instruction :
SELECT uuid_time_nextval(1, 256);Résultat :
uuid_time_nextval -------------------------------------- 179f542c-978c-454c-9dee-5f4ba75288e1 (1 row)