Этот ответ немного запоздал, но он появился в поиске Google, который я сделал, чтобы исследовать эту проблему. Нам нужны только описания таблиц, но метод будет одинаковым для столбцов.
Описания столбцов также находятся в таблице pg_description, на которые ссылается objoid.
Добавить эту точку зрения:
CREATE OR REPLACE VIEW our_tables AS
SELECT c.oid, n.nspname AS schemaname, c.relname AS tablename, d.description,
pg_get_userbyid(c.relowner) AS tableowner, t.spcname AS "tablespace",
c.relhasindex AS hasindexes, c.relhasrules AS hasrules, c.reltriggers > 0 AS hastriggers
FROM pg_class c
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
LEFT JOIN pg_description d ON c.oid = d.objoid
WHERE c.relkind = 'r'::"char";
ALTER TABLE our_tables OWNER TO postgres;
GRANT SELECT, UPDATE, INSERT, DELETE, REFERENCES, TRIGGER ON TABLE our_tables TO postgres;
GRANT SELECT ON TABLE our_tables TO public;
Затем запустите:
SELECT tablename, description FROM our_tables WHERE schemaname = 'public'
Представление является модифицированной версией представления pg_tables, которое добавляется в столбец описания.
Вы также можете использовать определение представления, чтобы сделать его одним запросом.