|
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH columns AS ( |
|
|
SELECT |
|
|
cols.column_name, |
|
|
cols.data_type, |
|
|
col_description(('"' || cols.table_schema || '"."' || cols.table_name || '"')::regclass, cols.ordinal_position) AS description |
|
|
FROM information_schema.columns cols |
|
|
WHERE cols.table_schema = %(schema_name)s |
|
|
AND cols.table_name = %(table_name)s |
|
|
ORDER BY cols.ordinal_position |
|
|
) |
|
|
SELECT jsonb_build_object( |
|
|
'columns', |
|
|
jsonb_agg( |
|
|
jsonb_build_object( |
|
|
'name', column_name, |
|
|
'type', data_type, |
|
|
'description', description |
|
|
) |
|
|
) |
|
|
) AS column_list |
|
|
FROM columns; |
|
|
|