DDL 触发器

来自 PostgreSQL Wiki
跳转到导航跳转到搜索

DDL 触发器

此页面旨在协调 DDL 触发器的开发工作。

用例

  • 强制实施业务逻辑
    • 示例:将表名限制为某些规则 (CREATE TABLE 触发器)
  • 审计
    • 示例:需要知道何时有人删除了表
  • 复制
    • Slony、Bucardo 等可以自动复制 DDL 语句

问题

  • 使用现有的钩子
    • 需要支持无法使用钩子的人(例如 PgAdmin)
  • 当前的实用程序函数是递归的:触发器应该只在第一次调用时触发
  • 导出什么?从简单开始
    • 对象类型
    • 对象的 OID
    • 对象的名称
    • 动作
  • 使用 nodeToString 还是 nodeToSql?
  • 返回原始字符串?
  • 调用的语法
  • 如何在系统表中存储(将动作映射到函数)