Re: SQL function to access to `creating_extension` - Mailing list pgsql-hackers

From Florents Tselai
Subject Re: SQL function to access to `creating_extension`
Date
Msg-id 8ACA6321-D78B-4FBB-9685-8F51BF635115@gmail.com
Whole thread Raw
In response to SQL function to access to `creating_extension`  (Yurii Rashkovskii <yrashk@omnigres.com>)
List pgsql-hackers


On 19 Apr 2025, at 4:18 AM, Yurii Rashkovskii <yrashk@omnigres.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
<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.

pgsql-hackers by date:

Previous
From: Alexander Lakhin
Date:
Subject: Re: Typos in the code and README
Next
From: Michael Paquier
Date:
Subject: Re: Typos in the code and README