нулю в pg_stats?
В базе настройка:
default_statistics_target = 500
Делаю анализ таблицы:
analyze table;
Смотрю статистику по столбцу этой таблицы:
SELECT attname, n_distinct FROM pg_stats WHERE tablename = 'table' and attname = 'column' \gx
attname | column
n_distinct | 0
Делаю запрос к базе на количество различных значений столбца:
select count(distinct column) from table;
count
----------
99 522 836
Всего строк в таблице: 334 570 752
Вопрос: Почему в pg_stats n_distinct = 0 , а не что-то близкое к 99 522 836 ? Что значит значение 0 в этом столбце?
Покажите \d+ table.
\d+ table Column | Type | Collation | Nullable | Default | Storage | Stats target | ----------------+--------+-----------+----------+---------+---------+--------------+ column | bigint | | not null | | plain | |
\d+ table Column | Type | Collation | Nullable | Default | Storage | Stats target | ----------------+--------+-----------+----------+---------+---------+--------------+ column | bigint | | not null | | plain | |
Это не \d+, в любой современной версии PostgreSQL. Покажите полностью, не надо "резать" ничего.
Хмм... а какая это версия PostgreSQL?
PostgreSQL 10.23
Ага — это как раз не современная (не поддерживается уже). ;) Это надо вспоминать, как там было... чего мне делать не хочется, извините.
Обсуждают сегодня