All Products
Search
Document Center

Hologres:GEN_RANDOM_UUID

Last Updated:Mar 27, 2026

Fungsi GEN_RANDOM_UUID menghasilkan identifier unik universal (UUID) versi 4 yang terdiri atas bilangan heksadesimal acak. Gunakan fungsi ini untuk memberikan ID unik pada baris saat penulisan—misalnya sebagai nilai DEFAULT pada kolom kunci primer—tanpa perlu mengelola urutan ID secara manual.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Database Hologres

  • Izin untuk menjalankan pernyataan DDL di database tersebut

Instal ekstensi pgcrypto

Fungsi GEN_RANDOM_UUID memerlukan ekstensi pgcrypto. Instal ekstensi ini satu kali per database sebelum memanggil fungsi tersebut.

-- Install the extension.
CREATE EXTENSION pgcrypto;

-- Remove the extension if no longer needed.
DROP EXTENSION pgcrypto;
Ekstensi ini berlaku dalam cakupan database. Jika Anda membuat database baru, jalankan juga perintah CREATE EXTENSION pgcrypto di database tersebut.

Sintaksis

GEN_RANDOM_UUID() → uuid

Fungsi ini mengembalikan nilai bertipe uuid. Contohnya: 3a5401f1-0f0c-4380-8611-78e654efd86d.

UUID memiliki panjang tetap 128 bit, dengan rentang nilai dari 00000000-0000-0000-0000-000000000000 hingga ffffffff-ffff-ffff-ffff-ffffffffffff. Untuk informasi lebih lanjut mengenai tipe data UUID, lihat Data types.

Contoh

Hasilkan UUID sesuai permintaan

SELECT GEN_RANDOM_UUID();

Hasil:

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

Isi otomatis kolom UUID saat penyisipan

Panggil gen_random_uuid() dalam pernyataan INSERT ... SELECT untuk memberikan ID unik pada setiap baris dari tabel sumber.

-- 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;

Hasil:

 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)