Вы можете полностью описать таблицу, используя postgres, со следующим запросом:
SELECT
a.attname as Column,
pg_catalog.format_type(a.atttypid, a.atttypmod) as Datatype
FROM
pg_catalog.pg_attribute a
WHERE
a.attnum > 0
AND NOT a.attisdropped
AND a.attrelid = (
SELECT c.oid
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname ~ '^(TABLENAME)$'
AND pg_catalog.pg_table_is_visible(c.oid)
)
Таким образом вы получите имена столбцов и тип данных.
Также можно запустить клиент PSQLиспользуя параметр -E
$ psql -E
А затем простой \d mytable
выведет запросы, используемые postgres для описания таблицы.Это работает для каждой команды psql description.