On Mon, May 13, 2024 at 07:11:53PM GMT, Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > On 2024-05-13 19:25:11 -0300, FabrÃzio de Royes Mello wrote: > >> Hmmm, depending on the extension it can extensively call/use postgres code > >> so would be nice if we can differentiate if the code is called from > >> Postgres itself or from an extension. > > > I think that's not realistically possible. It's also very fuzzy what that'd > > mean. If there's a planner hook and then the query executes normally, what > > do > > you report for an execution time error? And even the simpler case - should > > use > > of pg_stat_statements cause everything within to be logged as a > > pg_stat_statement message? > > Not to mention that there could be more than one extension on the call > stack. I think tying this statically to the ereport call site is > fine. > > The mechanism that Andres describes for sourcing the name seems a bit > overcomplex though. Why not just allow/require each extension to > specify its name as a constant string? We could force the matter by > redefining PG_MODULE_MAGIC as taking an argument: > > PG_MODULE_MAGIC("hstore");
FTR there was a proposal at [1] some time ago that could be used for that need (and others), I thought it could be good to mention it just in case. That would obviously only work if all extensions uses that framework. [1] https://www.postgresql.org/message-id/flat/3207907.AWbSqkKDnR%40aivenronan