Justin Pryzby <pryzby(at)telsasoft(dot)com> writes: > I reduced the problematic query to this. > SELECT 1 FROM pg_rewrite WHERE > pg_get_function_arg_default(ev_class, 1) !~~ > pg_get_expr(ev_qual, ev_class, false);
Or more simply,
regression=# select pg_get_expr(ev_qual, ev_class, false) from pg_rewrite where rulename = 'pg_settings_u'; ERROR: bogus varno: 2
I don't see anything particularly surprising here. pg_get_expr is only able to cope with expression trees over a single relation, but ON UPDATE rules can refer to both OLD and NEW relations. Maybe we could make the error message more friendly, but there's not much else to be done, I think.