Re: Query runs on 9.2, but not on 9.4

Поиск
Список
Период
Сортировка
От Scott Ribe
Тема Re: Query runs on 9.2, but not on 9.4
Дата
Msg-id 26BEAB1A-1F90-4850-AE95-99E9CA1CDD37@elevated-dev.com
обсуждение исходный текст
Ответ на Query runs on 9.2, but not on 9.4  (John Scalia <jayknowsunix@gmail.com>)
Ответы Re: Query runs on 9.2, but not on 9.4
Список pgsql-admin
On Aug 5, 2015, at 7:56 AM, John Scalia <jayknowsunix@gmail.com> wrote:
>
> SELECT
> c.relname,
> pg_size_pretty(count(*) * 8192) as buffered,
> round(100.0 * count(*) /
> (SELECT setting FROM pg_settings
> WHERE name='shared_buffers')::integer,1)
> AS buffers_percent,
> round(100.0 * count(*) * 8192 /
> pg_relation_size(c.oid),1)
> AS percent_of_relation
> FROM pg_class c
> INNER JOIN pg_buffercache b
> ON b.relfilenode = c.relfilenode
> INNER JOIN pg_database d
> ON (b.reldatabase = d.oid AND d.datname = current_database())
> GROUP BY c.oid,c.relname
> ORDER BY 3 DESC
> LIMIT 25;

So, the first thing I would do is change:

> round(100.0 * count(*) /
> (SELECT setting FROM pg_settings
> WHERE name='shared_buffers')::integer,1)

to:

> (SELECT setting FROM pg_settings
> WHERE name='shared_buffers')::integer,1)

and change:

> round(100.0 * count(*) * 8192 /
> pg_relation_size(c.oid),1)

to:

> pg_relation_size(c.oid),1)

Then look for 0s in those output columns. I'll bet that the 9.4 vs 9.2 difference is simply a value of 0 for one of
those,not some exotic thing about the query plan. If I'm right about that, then you can start hunting down a specific
explanation.

--
Scott Ribe
scott_ribe@elevated-dev.com
http://www.elevated-dev.com/
https://www.linkedin.com/in/scottribe/
(303) 722-0567 voice







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

Предыдущее
От: John Scalia
Дата:
Сообщение: Query runs on 9.2, but not on 9.4
Следующее
От: Vasilis Ventirozos
Дата:
Сообщение: Re: Query runs on 9.2, but not on 9.4