How to get the name of the current database in C function/extention inside a trigger? - Mailing list pgsql-general

From alex m
Subject How to get the name of the current database in C function/extention inside a trigger?
Date
Msg-id 9f9a2549-eb0b-dd72-728f-0baac5a97d60@serendipia.email
Whole thread Raw
Responses Re: How to get the name of the current database in C function/extention inside a trigger?  (David Rowley <dgrowleyml@gmail.com>)
List pgsql-general

I'm writting a function/extention in C for a trigger. Inside a trigger, in C, I want to get the name of the current database. However, not via SPI_exec(), SPI_prepare() and the like, but more directly, in a more faster way.

I'm aware of "current_database()" but it'll require calling it via SPI_exec()

I've found this code which is  implementation of 'conninfo' command:

https://github.com/LuberZheng/FAS_Sniffer/blob/84872cb2360ce12219970b828e4377e5d3a91bb8/postgres/postgresql-9.5.4/src/bin/psql/command.c#L343

but it's still unclear how to do the same thing from a C function inside for a trigger.


How to do it?


P.S.

While SPI_exec(), SPI_prepare() won't work for me, other SPI functions such SPI_get* will be ok.

Versions: 11 or 12



For the versions 11 or 12



pgsql-general by date:

Previous
From: Kyotaro Horiguchi
Date:
Subject: Re: 12.3 replicas falling over during WAL redo
Next
From: Paul Förster
Date:
Subject: Re: how reliable is pg_rewind?