add a "status" column to the pg_rules system view

Started by Albin Hermangeabout 3 years ago1 messageshackers
Jump to latest
#1Albin Hermange
albin.hermange@gmail.com

hi,

I noticed that the pg_rules system view (all PG versions) does not include a
"status" field (like in pg_trigger with tgenabled column)

the official view (from 15.1 sources) is :

CREATE VIEW pg_rules AS
SELECT
N.nspname AS schemaname,
C.relname AS tablename,
R.rulename AS rulename,
pg_get_ruledef(R.oid) AS definition
FROM (pg_rewrite R JOIN pg_class C ON (C.oid = R.ev_class))
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE R.rulename != '_RETURN';

i propose to add a new field "rule_enabled" to get (easilly and officially)
the rule status to all PG version

CREATE VIEW pg_rules AS
SELECT
N.nspname AS schemaname,
C.relname AS tablename,
R.rulename AS rulename,
R.ev_enabled as rule_enabled,
pg_get_ruledef(R.oid) AS definition
FROM (pg_rewrite R JOIN pg_class C ON (C.oid = R.ev_class))
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE R.rulename != '_RETURN';

What do u think about that ?

Thx

Albin