uuid-ossp

uuid-ossp

uuid-ossp : generate universally unique identifiers (UUIDs)

Overview

ID Extension Package Version Category License Language
4930
uuid-ossp
uuid-ossp
1.1
FUNC
PostgreSQL
C
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
--s-dt-
No
Yes
No
Yes
no
yes
Relationships
Need By
babelfishpg_tsql
See Also
pg_idkit
pgx_ulid
pg_uuidv7
pg_hashids
sequential_uuids
permuteseq
ddsketch
vasco

Packages

PG18 PG17 PG16 PG15 PG14
1.1
1.1
1.1
1.1
1.1

This is a built-in contrib extension ship with the PostgreSQL kernel

Install

Create this extension with:

CREATE EXTENSION uuid-ossp;

Usage

uuid-ossp: UUID generation functions

Provides functions to generate UUIDs using several standard algorithms. Note: for simple random UUIDs, consider using the built-in gen_random_uuid() instead.

CREATE EXTENSION "uuid-ossp";

UUID Generation Functions

Function Description
uuid_generate_v1() Version 1: MAC address + timestamp
uuid_generate_v1mc() Version 1 with random multicast MAC
uuid_generate_v3(namespace uuid, name text) Version 3: MD5 hash of namespace + name
uuid_generate_v4() Version 4: fully random
uuid_generate_v5(namespace uuid, name text) Version 5: SHA-1 hash of namespace + name (preferred over v3)

Namespace Constants

Function Description
uuid_nil() Nil UUID (all zeros)
uuid_ns_dns() DNS namespace
uuid_ns_url() URL namespace
uuid_ns_oid() ISO OID namespace
uuid_ns_x500() X.500 DN namespace

Examples

-- Random UUID (v4)
SELECT uuid_generate_v4();

-- Timestamp-based UUID (v1)
SELECT uuid_generate_v1();

-- Deterministic UUID from name (v5, preferred over v3)
SELECT uuid_generate_v5(uuid_ns_url(), 'http://www.postgresql.org');

-- Use as default primary key
CREATE TABLE items (
  id uuid DEFAULT uuid_generate_v4() PRIMARY KEY,
  name text
);
Last updated on