Postgresql 相当于“信息”模式中的“pg_规则”`
我知道,信息模式是SQL标准,规则是PostgresSQL扩展 但是,是否有一种方法可以使用信息模式列出所有可用的规则?否,根据: 信息架构视图没有, 但是,请包含有关的信息 PostgreSQL特定功能;到 询问您需要查询的内容 系统目录或其他 PostgreSQL特定视图 请试一试Postgresql 相当于“信息”模式中的“pg_规则”`,postgresql,rules,Postgresql,Rules,我知道,信息模式是SQL标准,规则是PostgresSQL扩展 但是,是否有一种方法可以使用信息模式列出所有可用的规则?否,根据: 信息架构视图没有, 但是,请包含有关的信息 PostgreSQL特定功能;到 询问您需要查询的内容 系统目录或其他 PostgreSQL特定视图 请试一试 SELECT n.nspname AS view_schema, c.relname AS view_name, r.rulen
SELECT
n.nspname AS view_schema,
c.relname AS view_name,
r.rulename AS rule_name,
pg_get_ruledef(r.oid, true) AS compiled_definition,
d.description AS full_description,
CASE ev_type::integer
WHEN 2 THEN 'update'
WHEN 3 THEN 'insert'
WHEN 4 THEN 'delete'
END AS rule_event
FROM
pg_rewrite AS r
LEFT JOIN pg_class AS c ON c.oid = r.ev_class
LEFT JOIN pg_namespace AS n ON n.oid = c.relnamespace
LEFT JOIN pg_description AS d ON r.oid = d.objoid
WHERE TRUE
AND n.nspname != 'pg_catalog'
AND r.rulename <> '_RETURN' AND relkind = 'v'
ORDER BY r.rulename
请停止在标题中写标签。@Tomalak,我正在标题中写标签,而问题的类型可能会有误导性。例如,为什么toString不被称为asString,它可以用多种语言表达。我怀疑如果没有标题中提到的Postgres,问题可能就不那么清楚了。Stack Overflow已经有了标记功能。这就是标记用来指示问题主题的地方。在标题中重复这些标记是多余的,反而破坏了具有一致的、可索引的标记功能的整个目的。@Tomalak,这些标记不是很明显,尤其是当您有多个标记时。如果你只需要搜索标签来理解这个问题是什么意思,Java的toString,还是C的?这不好。如果有人复制粘贴问题怎么办?他们通常不会费心复制标签。我认为,即使没有看到标签,问题也必须连贯一致。在我看来,标签是为了简化索引,而不是为问题添加信息。不管怎样,它们都是,在标题中写标签既多余又不受鼓励。干杯