Если речь об уникальных индексах PostgreSQL, посчитайте записи pg_index с indisunique для нужной таблицы. Это не количество различных значений в колонке.
Как посчитать количество уникальных индексов в таблице?
Если речь об уникальных индексах PostgreSQL, посчитайте записи pg_index с indisunique для нужной таблицы. Это не количество различных значений в колонке.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Если речь об уникальных индексах PostgreSQL, посчитайте записи pg_index с indisunique для нужной таблицы. Это не количество различных значений в колонке.
Пример для существующей таблицы public.books:
SELECT COUNT(*)
FROM pg_index
WHERE indrelid = 'public.books'::regclass
AND indisunique;
Учитывается и индекс первичного ключа. Если нужны только валидные индексы, добавьте AND indisvalid. Индексы отдельных секций партиционированной таблицы автоматически этим запросом не суммируются. Сначала уточните термин: число уникальных значений считают COUNT(DISTINCT column), а это совсем другая задача.
Источник: www.postgresql.org.