Este tópico descreve como usar a extensão sequential-uuids. O ApsaraDB RDS for PostgreSQL oferece essa extensão para gerar UUIDs com um padrão mais sequencial.
Pré-requisitos
-
Sua instância RDS deve executar uma das seguintes versões do mecanismo de banco de dados:
A instância RDS executa o PostgreSQL 10 ou posterior.
A versão secundária do mecanismo da sua instância RDS é 20220228 ou posterior. Se a instância RDS executar o PostgreSQL 17, a versão secundária do mecanismo deverá ser 20241030 ou posterior. Para obter mais informações sobre como atualizar a versão secundária do mecanismo de uma instância RDS, consulte Atualize a versão secundária do mecanismo.
Use uma conta privilegiada para se conectar à sua instância RDS. Verifique o tipo de conta na página Accounts no console do ApsaraDB RDS. Se a conta for padrão, crie uma conta privilegiada e use-a para se conectar à instância RDS. Para obter mais informações, consulte Crie uma conta.
Ative ou desative a extensão
-
Execute o seguinte comando para ativar a extensão sequential-uuids:
CREATE EXTENSION sequential_uuids; -
Execute o seguinte comando para desativar a extensão sequential-uuids:
DROP EXTENSION sequential_uuids;
Exemplos
Esta extensão fornece duas funções para gerar UUIDs sequenciais usando sequências ou timestamps.
Para obter mais informações sobre como usar a extensão e os parâmetros relacionados, consulte Sequential UUID generators.
-
Função uuid_sequence_nextval
Sintaxe:
uuid_sequence_nextval(sequence regclass, block_size int default 65536, block_count int default 65536)Comando de exemplo:
CREATE SEQUENCE s; SELECT uuid_sequence_nextval('s'::regclass, 256, 256);Resultado de exemplo:
uuid_sequence_nextval -------------------------------------- 00cf26f7-ef7a-4746-8871-08b9c475713e (1 row) -
Função uuid_time_nextval
Sintaxe:
uuid_time_nextval(interval_length int default 60, interval_count int default 65536) RETURNS uuidComando de exemplo:
SELECT uuid_time_nextval(1, 256);Resultado de exemplo:
uuid_time_nextval -------------------------------------- 179f542c-978c-454c-9dee-5f4ba75288e1 (1 row)