我有一个只能使用 SQL 访问的 Postgres 数据库(我的意思是我可以使用 psql
连接)。我需要禁用一些规则,进行维护,然后重新启用它们。我想确保在所有这些操作之后,所有规则都已启用。如何使用 SQL 查询列出它们?
我有一个只能使用 SQL 访问的 Postgres 数据库(我的意思是我可以使用 psql
连接)。我需要禁用一些规则,进行维护,然后重新启用它们。我想确保在所有这些操作之后,所有规则都已启用。如何使用 SQL 查询列出它们?
类似这样的内容应该可以帮助你入门:
select n.nspname as rule_schema,
c.relname as rule_table,
case r.ev_type
when '1' then 'SELECT'
when '2' then 'UPDATE'
when '3' then 'INSERT'
when '4' then 'DELETE'
else 'UNKNOWN'
end as rule_event
from pg_rewrite r
join pg_class c on r.ev_class = c.oid
left join pg_namespace n on n.oid = c.relnamespace
left join pg_description d on r.oid = d.objoid
end as rule_event
后面添加 , rulename as rule_name
对我也很有帮助。 - rolling_codes