On Jan 16, 2016, at 9:48 AM, Abhijit Menon-Sen <ams@2ndQuadrant.com> wrote:
> Right, here's another try.
>
> The extension does trigger-based DML auditing. You install it using
> CREATE EXTENSION and then call one of its functions to enable auditing
> for a particular table. That function will create a customised trigger
> function based on the table's columns and a trigger that uses it:
>
> CREATE FUNCTION fn_audit_$table_name() RETURNS TRIGGER …
> CREATE TRIGGER … ON $table_name … EXECUTE fn_audit_$table_name;
>
> All that works fine (with pg_dump too). But if you drop the extension,
> the triggers stop working because the trigger function calls functions
> in the extension that are now gone.
This seems like one manifestation of the more general problem that we don't have any real idea what objects a function
definitiondepends on.
...Robert