Tüm Ürünler
Search
Belge Merkezi

AnalyticDB:UUID-OSSP

Son Güncelleme:Oct 05, 2026

uuid-ossp eklentisi, evrensel benzersiz tanımlayıcılar (UUID) oluşturmak için işlevler sağlar. Dağıtık sistemlerde UUID'ler, dizilere kıyasla daha güçlü benzersizlik garantileri sunar; bu nedenle düğümler arasında birincil anahtarlar ve kayıt tanımlayıcıları için güvenilir bir seçimdir.

UUID biçimi

Bir UUID, tirelerle ayrılmış beş grupta düzenlenmiş 32 onaltılık basamaktan oluşur: 8-4-4-4-12. Örneğin:

a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11

PostgreSQL, UUID'leri birkaç eşdeğer biçimde kabul eder:


Biçim


Örnek


Standart (küçük harf)


a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11


Büyük harf


A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11


Kıvrımlı parantezler


{a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11}


Tire yok


a0eebc999c0b4ef8bb6d6bb9bd380a11


Her 4 basamaktan sonra tire


a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11


Karma


{a0eebc99-9c0b4ef8-bb6d6bb9-bd380a11}

UUID alanları, AnalyticDB for PostgreSQL'de dağıtım anahtarı olarak kullanılamaz.

Eklentiyi yükleme

UUID oluşturmadan önce, örneğinizin Extensions sayfasından uuid-ossp eklentisini yükleyin. Ayrıntılar için bkz. Eklentileri yükleme, güncelleme ve kaldırma.

UUID oluşturma işlevleri

Sürüm 1: zamana dayalı

uuid_generate_v1() işlevi, geçerli zaman damgasından ve ana bilgisayarın MAC adresinden bir UUID oluşturur.

uuid_generate_v1mc() işlevi uuid_generate_v1() gibi çalışır ancak gerçek MAC adresi yerine rastgele bir çoklu yayın MAC adresi kullanır; bu sayede makinenin donanım tanımlayıcısının doğrudan ifşa edilmesi önlenir.

Uyarı

Sürüm 1 UUID'ler, oluşturan makinenin MAC adresini gömer ve bir zaman bileşeni içerir; bu da onların bir dereceye kadar tahmin edilebilir olmasına neden olur. Güvenlikle ilgili hassas uygulamalarda sürüm 1 UUID'lerden kaçının.

Sürüm 3: ada dayalı (MD5)

uuid_generate_v3(namespace uuid, name text) işlevi, MD5 kullanarak namespace içindeki name değerinin karma değerini alarak belirleyici bir UUID oluşturur.

  • namespace: uuid_ns_*() işlevlerinden biri tarafından döndürülen bir sabit (bkz. Ad alanı sabitleri).

  • name: Ad alanı içindeki bir tanımlayıcı.

SELECT uuid_generate_v3(uuid_ns_url(), 'example.com');

Aynı girdiler her zaman aynı UUID'yi üretir. Rastgele bir algoritma veya sistem ortamı söz konusu olmadığından sonuç tamamen tekrarlanabilirdir.

Sürüm 4: rastgele

uuid_generate_v4() işlevi, rastgele sayılara dayalı bir UUID oluşturur.

Sürüm 5: ada dayalı (SHA-1)

uuid_generate_v5(namespace uuid, name text) işlevi uuid_generate_v3() gibi çalışır ancak MD5 yerine SHA-1 kullanır. SHA-1, MD5'ten daha güvenlidir; bu nedenle ada dayalı UUID'lere ihtiyacınız olduğunda sürüm 3 yerine sürüm 5'i tercih edin.

Ad alanı sabitleri

Bu sabitleri uuid_generate_v3() ve uuid_generate_v5() işlevlerinde namespace bağımsız değişkeni olarak kullanın.


İşlev


Ad Alanı


uuid_ns_dns()


Etki Alanı Ad Sistemi (DNS)


uuid_ns_url()


URL


uuid_ns_oid()


ISO nesne tanımlayıcısı (OID) — Abstract Syntax Notation One (ASN.1) standardı tarafından tanımlanır; PostgreSQL OID'lerinden farklıdır


uuid_ns_x500()


X.500 ayırt edici adı (DN)

uuid_nil() işlevi, gerçek bir UUID olmayan nil UUID sabitini döndürür.

Örnekler

-- Version 1 (time-based)
SELECT uuid_generate_v1();
 uuid_generate_v1
--------------------------------------
 c7f83ba4-bd93-11e9-8674-40a8f01ec4e8
(1 row)
-- Version 3 (name-based, MD5)
SELECT uuid_generate_v3(uuid_ns_url(), 'example.com');
 uuid_generate_v3
--------------------------------------
 a0473a67-27a1-3c05-a2d1-5c134639347f
(1 row)
-- Version 4 (random)
SELECT uuid_generate_v4();
 uuid_generate_v4
--------------------------------------
 d7a8d47e-58e3-4bd9-9340-8553ac03d144
(1 row)
-- Version 5 (name-based, SHA-1)
SELECT uuid_generate_v5(uuid_ns_url(), 'example.com');
 uuid_generate_v5
--------------------------------------
 a5cf6e8e-4cfa-5f31-a804-6de6d1245e26
(1 row)

Kaynaklar