Re: dealing with extension dependencies that aren't quite 'e'

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Abhijit Menon-Sen <ams(at)2ndQuadrant(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: dealing with extension dependencies that aren't quite 'e'
Date: 2016-01-16 17:18:53
Message-ID: 58C7A345-193B-4813-A7AA-4B78358313D6@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Jan 16, 2016, at 9:48 AM, Abhijit Menon-Sen <ams(at)2ndQuadrant(dot)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 definition depends on.

...Robert

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2016-01-16 17:32:47 Re: WIP: Rework access method interface
Previous Message Robert Haas 2016-01-16 17:14:19 Re: WIP: Rework access method interface