【发布时间】:2019-01-30 19:07:51
【问题描述】:
明确地说,我想知道用于填充默认值的机制是什么,而不是在表上创建默认值约束所需的 SQL 语法。
Postgres 是否使用某种触发器来更新默认值(如果缺失或其他原因)?我在official website 上找不到解释。
【问题讨论】:
-
除非这只是对 PG 内部的好奇,否则我认为您会得到更好的回复,说明为什么您想知道。
-
是的,只是想对何时以及如何完成有更高层次的了解。
-
您可以浏览源代码。 (记住:PG 是开源的)
-
这正是我想要避免的——不太了解 C。我认为有人会知道并愿意提供帮助,因此将其发布在 stackoverflow 上。对太多细节不感兴趣,只对谷歌未能提供帮助的高层次理解感兴趣。
-
“高级”图是,每当你要求服务器执行一个语句时,它通过运行一些代码来完成,而当你执行一个
INSERT语句时,一些代码会填充在缺少默认值的列中。不涉及触发器,也没有任何你可能称之为“机制”的东西;就是这么写的。
标签: postgresql column-defaults