Home

uuid-ossp: Unique Identifiers

The uuid-ossp extension can be used to generate a UUID.

Overview#

A UUID is a "Universally Unique Identifier" and it is, for practical purposes, unique. This makes them particularly well suited as Primary Keys. It is occasionally referred to as a GUID, which stands for "Globally Unique Identifier".

Enable the extension#

  1. Go to the Database page in the Dashboard.
  2. Click on Extensions in the sidebar.
  3. Search for "uuid-ossp" and enable the extension.

Note: Currently uuid-ossp extension is enabled by default and cannot be disabled.

The uuid type#

Once the extension is enabled, you now have access to a uuid type.

uuid_generate_v1()#

Creates a UUID value based on the combination of computer’s MAC address, current timestamp, and a random value.

note

UUIDv1 leaks identifiable details, which might make it unsuitable for certain security-sensitive applications.

uuid_generate_v4()#

Creates UUID values based solely on random numbers. You can also use Postgres's built-in gen_random_uuid() function to generate a UUIDv4.

Examples#

Within a query#


_10
select uuid_generate_v4();

As a Primary Key#

Automatically create a unique, random ID in a table:


_10
create table contacts (
_10
id uuid default uuid_generate_v4(),
_10
first_name text,
_10
last_name text,
_10
_10
primary key (id)
_10
);

Resources#