Роман Теличко

Заметки веб-разработчика/админа

Тег database

PostgreSQL. Список всех таблиц

// Январь 31, 2013 | 2455 просмотров | комментариев (1)

Вывести список всех таблиц при помощи SQL довольно просто:

SELECT
        n.nspname               AS "schema",
        c.relname               AS "table"
FROM
        pg_catalog.pg_class AS c 
LEFT JOIN 
        pg_catalog.pg_namespace AS n 
        ON n.oid = c.relnamespace
WHERE
        n.nspname NOT IN ('pg_catalog', 'pg_toast')
        AND
        c.reltablespace > 0
        AND
        c.relkind = 'r'
ORDER BY
        c.relname ASC

В результате получим набор схема-таблица.

PostgreSQL. Список всех индексов

// Июль 17, 2012 | 4508 просмотров | комментариев (0)

Получить в виде списка все индексы довольно просто.
Достаточно выполнить следующее:

SELECT 
        n.nspname               AS "schema",
        c.relname               AS "index"
FROM 
        pg_catalog.pg_class AS c 
LEFT JOIN 
        pg_catalog.pg_namespace AS n ON n.oid = c.relnamespace
WHERE
        c.relkind = 'i'
        AND 
        n.nspname NOT IN ('pg_catalog', 'pg_toast')
ORDER BY
        c.relname ASC

И всё!

Кстати, а вот так можно получить список всех неиспользуемых индексов.