Этот ответ немного поздно, но он выскочил на поиск 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 просмотра, который добавляет в колонке описания. Вы также можете обезьяна обойтись с определением вида, чтобы сделать его одним запросом.
PostgreSQL не очень дружелюбно, но это происходит потому, что каждый у пользователя есть личная (нестандартная) «библиотека использования». Ниже функции (`rel_description`) моей библиотеки, которая может вам помочь. – 2012-10-08 10:33:16