Re: Wrong stat on pg_stat_user_tables

Поиск
Список
Период
Сортировка
От Glyn Astill
Тема Re: Wrong stat on pg_stat_user_tables
Дата
Msg-id 1136485488.10643672.1474984913094@mail.yahoo.com
обсуждение исходный текст
Ответ на Wrong stat on pg_stat_user_tables  (Thomas SIMON <tsimon@neteven.com>)
Список pgsql-admin
> From: Thomas SIMON <tsimon@neteven.com>
>To: "pgsql-admin@postgresql.org" <pgsql-admin@postgresql.org>
>Sent: Tuesday, 27 September 2016, 9:20
>Subject: [ADMIN] Wrong stat on pg_stat_user_tables
>
>
>Hi all,
>
>I have strange behavior with a stat of pg_stat_user_tables (explained
>below), where number of live tuples is not the real number at all. (25M
>vs 111M)
>
>
>  - select n_live_tup, last_autoanalyze from pg_stat_user_tables where
>relname = 'items'
>
>n_live_tup : 111 191 791
>last_autoanalyze : 2016-09-27 04:03:35.09233+02
>
>
>  - select count (1) from items;
>   count
>----------
>  25307071
>
>
>I've comparated my 10 biggest tables, only this table gave me wrong results.
>
>Does anyone have an idea about it ?
>

Do you have any long running transactions?  The value returned by n_live_tup is an estimate of all the live rows in the
table,vs the value you see from count is the number rows visible to the current transaction. 


How long between sending the email and running the queries? What output do you see if you analyze the table? And what
pgversion is this? 

I think (I may be wrong) the value you see in pg_stat_user_tables is only an estimate based on a sample of tuples per
pagein the table, so if you've an uneven distribution of live rows you could see an incorrect value. 


What do the planner stats show you? Try:

   select reltuples::integer from pg_class where oid = 'items'::regclass;


You might get a better response from the pgsql-general list.

Glyn

В списке pgsql-admin по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Wrong stat on pg_stat_user_tables
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: /var/run/postgresql/.s.PGSQL.5432 should be 5433