Итак, я занимаюсь разработкой модуля contrib и хочу получить имя таблицы внутри этого модуля contrib.
вопрос:
Есть ли способ записиимя таблицы во время создания таблицы или вставки таблицы?Я видел некоторые из триггеров, но не смог сделать это (я не думаю, что есть какой-либо триггер создания таблицы).В случае, если это возможно, скажите мне, как этого добиться.
Мне кажется, что я извлекаю метаданные с помощью pg_class, но не помогаю, потому что я должен явно дать rel-имя (имя таблицы) в каком пункте, как вы думаете, есть ли другой способ добиться этого?Пожалуйста, уточните, если таковые имеются, и, пожалуйста, дайте мне знать.
Вот несколько примеров, которые помогут вам немного понять, чего я хочу достичь.
создание таблицы:
create table new_table(name varchar , new integer);
insert into new_table values('abcdefghijkl' , 5004);
create table new_table1(name1 varchar , new1 integer) ;
insert into new_table1 values('mnopqrst' , 5005);
создание расширения:
create extension table_name-extract;
select extract_tablename();
Таким образом, мое расширение должно извлечь имя таблицы, значит, я должен знать имя таблицы со встроенным типом данных, который я объявил.
Вот что я ожидаю в качестве вывода:
select extract_tablename();
table-name datatype-name
new_table name new
new_table1 name1 new1