How to get the name of the current database in C function/extention inside a trigger?

Поиск
Список
Период
Сортировка
От alex m
Тема How to get the name of the current database in C function/extention inside a trigger?
Дата
Msg-id 9f9a2549-eb0b-dd72-728f-0baac5a97d60@serendipia.email
обсуждение исходный текст
Ответы Re: How to get the name of the current database in C function/extention inside a trigger?  (David Rowley <dgrowleyml@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Kyotaro Horiguchi
Дата:
Сообщение: Re: 12.3 replicas falling over during WAL redo
Следующее
От: Paul Förster
Дата:
Сообщение: Re: how reliable is pg_rewind?