如何在pgAdmin ERD工具中为列设置函数作为默认值?
在pgAdmin ERD工具中设置函数作为默认值的解决方法
可以直接用ERD工具创建带函数默认值的表,不用每次手动修改SQL,问题出在默认值的设置方式上:
- 正确设置步骤:
- 打开列的属性编辑窗口,找到「默认值」字段。
- 直接输入
uuid_generate_v4(),然后点击输入框右侧的函数选择器按钮(带函数图标的按钮),选中对应函数确认。 - 这样工具会识别这是函数调用,生成SQL时不会给函数加单引号。
如果已经出现自动加引号的情况,也可以临时处理:
- 在ERD生成的SQL预览界面,把
DEFAULT 'uuid_generate_v4()'手动改成DEFAULT uuid_generate_v4()再执行,但这种方式不彻底,后续修改表结构可能还要重复操作。
另外要提前确保数据库已创建uuid-ossp扩展,执行过:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
否则函数本身不存在,就算默认值设置正确也会报错。
内容的提问来源于stack exchange,提问作者Snowybluesky
相关产品推荐
相关产品推荐

