在postgres中创build新行时自动插入login名

在Postgres 10中,创build新行时是否可以自动插入loginangular色的名称?

即我已经使用时间戳来追踪行的创builddate。 查看哪个用户创build该行也是有用的。

谢谢!

是。 只需创build该列的默认session_user 。 (这是一个伪variables,而不是函数调用)。

如果你想防止用户重写它,你也应该确保GRANT写入权限到表的基础上,而不是整个表,并确保正常的操作用户不是表的所有者。

或者,也可以使用设置NEW.the_column := session_userBEFORE INSERT OR UPDATE触发器。