Re: Detecting functions installed by an extension

From: Vik Fearing <vik(dot)fearing(at)2ndquadrant(dot)com>
To: Benjie Gillam <benjie(at)jemjie(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Detecting functions installed by an extension
Date: 2018-06-17 08:26:23
Message-ID: 352f05f3-6270-f160-3138-e66078d620e3@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 17/06/18 10:05, Benjie Gillam wrote:
> Greetings!
>
> How can I tell, using the system catalog or information schema, if a
> function/procedure was created by an extension as opposed to by the user
> (i.e. would be dropped if you performed "DROP EXTENSION")? So far I've
> looked at the `pg_extension` table, which lists the class IDs of
> configuration tables but doesn't mention procedures. I've looked at
> `pg_proc` but that doesn't seem to contain the information. I've also
> scanned over various other system catalogues but with no luck. Is this
> information available in one of the system catalogs? Does PostgreSQL
> itself track this information so that it can perform cleanup, or does it
> expect the extension to clean up after itself?

All dependencies are tracked in the system catalog pg_depend.

If you do \set ECHO_HIDDEN on in psql and then \dx+ an_extension you
can see what queries psql uses to get the information. That should put
you well on your way to doing what you want.
--
Vik Fearing +33 6 46 75 15 36
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Benjie Gillam 2018-06-17 09:09:40 Re: Detecting functions installed by an extension
Previous Message Benjie Gillam 2018-06-17 08:05:21 Detecting functions installed by an extension