gen_random_uuid is only available with pgcrypto enabled

Started by PG Bug reporting formabout 3 years ago3 messagesdocs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: gen_random_uuid is only available with pgcrypto enabled

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

#3David G. Johnston
david.g.johnston@gmail.com
In reply to: PG Bug reporting form (#1)
Re: gen_random_uuid is only available with pgcrypto enabled

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.