Todos os produtos
Search
Central de documentação

Hologres:GEN_RANDOM_UUID

Última atualização: Jun 28, 2026

A função GEN_RANDOM_UUID gera um identificador universalmente único (UUID) versão 4, composto por inteiros hexadecimais aleatórios. Use-a para atribuir IDs exclusivos às linhas durante a gravação — por exemplo, como valor DEFAULT em uma coluna de chave primária — sem gerenciar sequências de ID manualmente.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Um banco de dados Hologres

  • Permissão para executar instruções DDL nesse banco de dados

Instale a extensão pgcrypto

A função GEN_RANDOM_UUID exige a extensão pgcrypto. Instale-a uma vez por banco de dados antes de chamar a função.

-- Install the extension.
CREATE EXTENSION pgcrypto;

-- Remove the extension if no longer needed.
DROP EXTENSION pgcrypto;
A extensão tem escopo limitado ao banco de dados. Se criar um novo banco de dados, execute CREATE EXTENSION pgcrypto também nele.

Sintaxe

GEN_RANDOM_UUID() → uuid

Retorna um valor uuid. Exemplo: 3a5401f1-0f0c-4380-8611-78e654efd86d

O UUID tem tamanho fixo de 128 bits e seu valor varia de 00000000-0000-0000-0000-000000000000 a ffffffff-ffff-ffff-ffff-ffffffffffff. Para mais informações sobre o tipo de dado UUID, consulte Tipos de dados.

Exemplos

Gerar um UUID sob demanda

SELECT GEN_RANDOM_UUID();

Resultado:

gen_random_uuid
------------------------------------
3a5401f1-0f0c-4380-8611-78e654efd86d

Preencher automaticamente uma coluna UUID na inserção

Use gen_random_uuid() em uma instrução INSERT ... SELECT para atribuir um ID exclusivo a cada linha de uma tabela source.

-- Create a source table and populate it with sample data.
CREATE TABLE t_source (a INT);
INSERT INTO t_source SELECT * FROM generate_series(1, 5);

-- Create a destination table with a UUID column.
CREATE TABLE t_result (a INT, b UUID);

-- Insert rows and generate a UUID for each one.
INSERT INTO t_result SELECT *, gen_random_uuid() FROM t_source;

-- Verify the results.
SELECT * FROM t_result;

Resultado:

 a |                  b
---+--------------------------------------
 1 | 27477537-abc4-4c17-9cf3-91c856a3b298
 2 | 2522b1ce-fdf3-4b14-a3c3-78f4baac5186
 3 | c69959a3-ad40-424f-9eb1-3271d0c6a8d4
 4 | 5493e087-b1b8-47e2-8117-adea27aaa676
 5 | f0e55a29-e72e-42e6-99aa-486db4f8b624
(5 rows)