Я столкнулся с ситуацией, в которой я должен динамически получать столбцы (вместе с типами столбцов) для создания внешней таблицы.
CREATE FOREIGN TABLE ossexample
(id varchar(64), b varchar(64), c varchar(64), d varchar(64), e bigint)
SERVER somserver
OPTIONS
( dir'osstest/',delimiter ',' ,
format 'csv', encoding 'utf8');
Но есть ситуация, когда другой инженер хочет добавить в нее столбеци я хочу построить эту внешнюю таблицу динамически.
select column_name, data_type, character_maximum_length
from INFORMATION_SCHEMA.COLUMNS where table_name = '<tablename>';
результат будет таким:
column_name | data_type | character_maximum_length
-------------+-------------------+--------------------------
id | character varying | 64
b | character varying | 64
c | character varying | 255
d | integer |
e | bigint |
Подробнее:
1. Это 9,4 postgres ..что означает, что я не могу использовать наследовать ...
2. Я гуглил с предложением, но я не могу понять, как это сделать с несколькими строками.Я думаю, что я должен получить информацию столбца таблицы из этого запроса.