如何更改 postgresql 中事件触发器的所有者?
How do I change the owner of an event trigger in postgresql?
documentation 声明更改事件触发器所有者的命令是:
ALTER EVENT TRIGGER name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
但它出错了:
[42704] ERROR: event trigger "insert_component_relationship" does not exist
我认为这意味着我需要用架构名称来限定它,所以我尝试了:
ALTER EVENT TRIGGER schema.name OWNER TO { new_owner }
但这也让我尖叫:
[42601] ERROR: syntax error at or near "."
然后我开始尝试其他我认为可行的命令组合,例如:
ALTER TRIGGER name ON table OWNER TO { new_owner }
ALTER TRIGGER name ON schema.table OWNER TO { new_owner }
无济于事。在这个 page 的 name
参数下,似乎表明模式是在创建时推断出来的,但在尝试更改触发器时没有提及模式限定。
EDIT 带有伪值的实际命令运行:
ALTER EVENT TRIGGER modify_relationship OWNER TO new_admin_user;
ALTER EVENT TRIGGER products.modify_relationship OWNER TO new_admin_user;
相对较小的错误。
确保触发器是实际事件触发器。
检查元命令\dy
。如果它没有出现在这里,它可能不是事件触发器。
触发器由 SQL 标准定义,documentation 没有提及它们的所有权
更改事件触发器的所有权在 ALTER EVENT TRIGGER
的文档中作为一个选项给出
There is no CREATE EVENT TRIGGER statement in the SQL standard.
感谢 @eurotrash 的评论让我获得了殊荣。
documentation 声明更改事件触发器所有者的命令是:
ALTER EVENT TRIGGER name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
但它出错了:
[42704] ERROR: event trigger "insert_component_relationship" does not exist
我认为这意味着我需要用架构名称来限定它,所以我尝试了:
ALTER EVENT TRIGGER schema.name OWNER TO { new_owner }
但这也让我尖叫:
[42601] ERROR: syntax error at or near "."
然后我开始尝试其他我认为可行的命令组合,例如:
ALTER TRIGGER name ON table OWNER TO { new_owner }
ALTER TRIGGER name ON schema.table OWNER TO { new_owner }
无济于事。在这个 page 的 name
参数下,似乎表明模式是在创建时推断出来的,但在尝试更改触发器时没有提及模式限定。
EDIT 带有伪值的实际命令运行:
ALTER EVENT TRIGGER modify_relationship OWNER TO new_admin_user;
ALTER EVENT TRIGGER products.modify_relationship OWNER TO new_admin_user;
相对较小的错误。
确保触发器是实际事件触发器。
检查元命令\dy
。如果它没有出现在这里,它可能不是事件触发器。
触发器由 SQL 标准定义,documentation 没有提及它们的所有权
更改事件触发器的所有权在 ALTER EVENT TRIGGER
的文档中作为一个选项给出There is no CREATE EVENT TRIGGER statement in the SQL standard.
感谢 @eurotrash 的评论让我获得了殊荣。