Я пытаюсь запросить две таблицы information_schema в PostgreSQL - таблицах и столбцах, чтобы получить следующий результат:
имя_таблицы - columns_as_json_array
Вид преобразования этой таблицы во многие отношение в json столбце массива. Я перепробовал множество различных методов и придумал что-то вроде этого:
SELECT t.table_name, c.json_columns
FROM information_schema.TABLES t
LEFT JOIN LATERAL(
SELECT table_name, json_agg(row_to_json(tbc)) AS json_columns
FROM information_schema.COLUMNS tbc
WHERE t.table_name = tbc.table_name
GROUP BY table_name
) as c ON TRUE;
В результате получается список таблиц-имен, но json_columns всегда содержит все доступные столбцы, а не столбцы этой определенной таблицы.
Есть идеи?