运行此SQL时,我获取函数get\u random\u uuid()不存在错误:
ALTER TABLE“posts”ALTER COLUMN“id”SET DEFAULT gen\u random\u uuid()
我可以看到此查询中列出的pgcrypto模块select*from pg\u available\u extensions。我在Ubuntu 14.04上使用PostgreSQL 9.4.5
我错过什么了吗
您需要将pgcrypto扩展加载到当前数据库/架构中
创建扩展pgcrypto;
如下所示(使用PostgreSQL 12测试):
#选择gen_random_uuid();
错误:函数gen_random_uuid()不存在
第1行:选择gen_random_uuid();
^
提示:没有与给定名称和参数类型匹配的函数。您可能需要添加显式类型转换。
#创建扩展pgcrypto;
创建扩展名
#选择gen_random_uuid();
gen_random_uuid
--------------------------------------
19a12b49-a57a-4f1e-8e66-152be08e6165
(1排)