Re: SQL function to access to `creating_extension`

From: Florents Tselai <florents(dot)tselai(at)gmail(dot)com>
To: Yurii Rashkovskii <yrashk(at)omnigres(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: SQL function to access to `creating_extension`
Date: 2025-04-19 09:52:40
Message-ID: 8ACA6321-D78B-4FBB-9685-8F51BF635115@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 19 Apr 2025, at 4:18 AM, Yurii Rashkovskii <yrashk(at)omnigres(dot)com> wrote:
>
> Hi,
>
> I propose to introduce `pg_creating_extension()` function that would return the OID of the extension being currently created (or `null` if none is).
>
> The core motivation for it is to be able to establish data provenance in tables created by extensions to be used in `pg_extension_config_dump` configuration. This way, even if a secondary extension inserts data, it can still be excluded from the dump by tracking data provenance in a column with a default. Something like
>
> ```
> create table my_config (
> --- ...
> extension_provenance oid default pg_creating_extension()
> )
> ```
>
> This would allow for a generalized exclusion in pg_extension_config_dump.
>
> I've attached a draft patch for this simple function. I am happy to finalize it with tests and documentation if there is a consensus on the shape.
>
> --
> Founder at Omnigres
> https://omnigres.com <https://omnigres.com/><v1-0001-pg_creating_extension-to-inspect-if-an-extension-is-.patch>

Hi Yurii,

+1 from me.

I can see this being helpful, especially when dealing with shared tables or managing extension-specific data in configuration dumps.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2025-04-19 10:04:28 Re: Typos in the code and README
Previous Message Alexander Lakhin 2025-04-19 08:00:00 Re: Typos in the code and README