Thread: gen_random_uuid is only available with pgcrypto enabled

gen_random_uuid is only available with pgcrypto enabled

From
PG Doc comments form
Date:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/15/functions-uuid.html
Description:

Regarding the documentation on this page:
https://www.postgresql.org/docs/15/functions-uuid.html

It think the documentation should state clearly, that postgres natively does
not have any UUID generation functions. You can use the `pgcrypto` or
`uuid-ossp` extensions though:

    CREATE EXTENSION "pgcrypto"; /* enable pgcrypto extension */
    SELECT public.gen_random_uuid(); /* -> uuid */

See https://www.postgresql.org/docs/current/pgcrypto.html#id-1.11.7.37.11

    CREATE EXTENSION "uuid-ossp"; /* enable uuid-ossp extension */
    SELECT public.uuid_generate_v4(); /* -> uuid */

See https://www.postgresql.org/docs/current/uuid-ossp.html

Re: gen_random_uuid is only available with pgcrypto enabled

From
Tom Lane
Date:
PG Doc comments form <noreply@postgresql.org> writes:
> Regarding the documentation on this page:
> https://www.postgresql.org/docs/15/functions-uuid.html

> It think the documentation should state clearly, that postgres natively does
> not have any UUID generation functions.

That hasn't been true since we added gen_random_uuid() to the
core code in v13.  pgcrypto's version is now just a deprecated
wrapper for that.

            regards, tom lane



Re: gen_random_uuid is only available with pgcrypto enabled

From
"David G. Johnston"
Date:
On Tue, Jan 24, 2023 at 12:43 PM PG Doc comments form <noreply@postgresql.org> wrote:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/15/functions-uuid.html
Description:

Regarding the documentation on this page:
https://www.postgresql.org/docs/15/functions-uuid.html

It think the documentation should state clearly, that postgres natively does
not have any UUID generation functions.

But that isn't true...

postgres=# select * from pg_extension;
  oid  | extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
-------+---------+----------+--------------+----------------+------------+-----------+--------------
 12765 | plpgsql |       10 |           11 | f              | 1.0        |           |
(1 row)

postgres=# select gen_random_uuid();
           gen_random_uuid
--------------------------------------
 0a1be850-b1ae-48b9-bfe1-038df1e227f7
(1 row)

David J.