Pre-loader

/ K2 Cloud ERP for Python / Адміністраторам / Підтримка баз даних. / Postgresql. / Різні задачі по Postgresql / Як вивести коментарії для таблиць та полів

Як вивести коментарії для таблиць та полів

Вивід коментаріїв до усіх таблиць

Для того, щоб вивести список всіх таблиць в PostgreSQL разом із коментарями до кожної таблиці, ви можете використовувати наступний SQL-запит:

SELECT 
    table_name as "Назва Таблиці", 
    obj_description(
        (SELECT oid FROM pg_class WHERE relname = table_name), `pg_class`
    ) as "Коментар до Таблиці"
FROM information_schema.tables
WHERE table_schema = `public` -- Замініть `public` на схему, в якій ви шукаєте таблиці.

Цей запит використовує системні таблиці PostgreSQL, такі як information_schema.tables та pg_class, щоб отримати інформацію про всі таблиці у вказаній схемі (у цьому випадку "public"). Функція obj_description використовується для отримання коментарів до таблиці на основі її oid.

Змініть table_schema на назву схеми, де ви шукаєте таблиці. Після виконання цього запиту ви отримаєте список всіх таблиць у вказаній схемі та їх коментарів, якщо такі існують.

Вивід всіх таблиць та полів з їх коментаріями в Postgresql 16

Спосіб отримання коментарів до полів у PostgreSQL 16 може відрізнятися від попередніх версій. В PostgreSQL 16 можна використовувати функцію col_description для отримання коментарів до полів. Ось оновлений запит для отримання коментарів до всіх таблиць та полів у PostgreSQL 16:

SELECT 
    t.table_name AS "Назва Таблиці",
    obj_description((SELECT oid FROM pg_class WHERE relname = t.table_name), `pg_class`) AS "Коментар до Таблиці",
    c.column_name AS "Назва Поля",
    col_description((SELECT oid FROM pg_class WHERE relname = t.table_name), c.ordinal_position) AS "Коментар до Поля"
FROM information_schema.tables t
JOIN information_schema.columns c ON t.table_name = c.table_name
WHERE t.table_schema = `public`; -- Замініть `public` на схему, де ви шукаєте таблиці та поля.

Цей запит використовує функцію col_description, щоб отримати коментарі до полів таблиці. Він також об'єднує інформацію про таблиці і поля з відповідними коментарями до таблиць та полів.

Вивід всіх таблиць та полів з їх коментаріями в Postgresql до версії 16

Для отримання списку всіх таблиць та всіх полів разом із коментарями до них в PostgreSQL ви можете використовувати два окремих запити: один для отримання таблиць та їх коментарів, інший для отримання полів та їх коментарів. Ось як це можна зробити:

1. Список всіх таблиць та коментарів до них:

SELECT 
    table_name AS "Назва Таблиці",
    obj_description((SELECT oid FROM pg_class WHERE relname = table_name), `pg_class`) AS "Коментар до Таблиці"
FROM information_schema.tables
WHERE table_schema = `public` -- Замініть `public` на схему, в якій ви шукаєте таблиці.

2. Список всіх полів та коментарів до полів:

SELECT 
    c.table_name AS "Назва Таблиці",
    c.column_name AS "Назва Поля",
    (SELECT pgd.description FROM pg_catalog.pg_description pgd 
     WHERE pgd.objoid = c.table_oid AND pgd.objsubid = c.ordinal_position) AS "Коментар до Поля"
FROM information_schema.columns c
WHERE table_schema = `public` -- Замініть `public` на схему, де ви шукаєте таблиці та поля.

Ці два запити надають вам список всіх таблиць і їх коментарів, а також список всіх полів і коментарів до них у вказаній схемі (у цьому випадку "public").

Автор: Рудюк С.А. 2023. K2 Cloud ERP.