Re: how to find which tables required indexes in postgresql

From: Chris Curvey <chris(at)chriscurvey(dot)com>
To: JotaComm <jota(dot)comm(at)gmail(dot)com>
Cc: Thomas Kellerer <spam_eater(at)gmx(dot)net>, pgsql <pgsql-general(at)postgresql(dot)org>
Subject: Re: how to find which tables required indexes in postgresql
Date: 2013-04-10 13:29:37
Message-ID: CADfwSsAfkzvSHzUqEbq82tvB05_TLToRGqPJHY3A3LQn0n_Bqw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Apr 10, 2013 at 9:19 AM, JotaComm <jota(dot)comm(at)gmail(dot)com> wrote:

> Hello,
>
>
> 2013/4/10 Thomas Kellerer <spam_eater(at)gmx(dot)net>
>
>> Zahid Quadri, 10.04.2013 13:31:
>>
>> hi,,
>>>
>>> please suggest if there is any way which i can find which tables need
>>> indexes in postgresql.
>>>
>>
> You have some possibilities:
>
> - the log file (slow queries)
>
> - statistics with old information (see the ANALYZE command)
>
> - statistics tables, for example: pg_stat_user_tables
>
> You can run this SQL:
>
> SELECT pg_stat_user_tables.schemaname,
> pg_stat_user_tables.relname,
> pg_stat_user_tables.seq_scan,
> pg_stat_user_tables.seq_tup_read,
> pg_stat_user_tables.idx_scan,
> pg_stat_user_tables.idx_tup_fetch
> FROM pg_stat_user_tables;
>
> If you have a big value in seq_scan column compared to the idx_scan column
> (small value), this indicate that you probably need to create an index in
> some column, but you need to discover what column needs the index. (the log
> file is a good indication).
>
>
I'll also give a shout-out for pgBadger. It parses your slow query logs
and creates a nice summary of queries that could use some attention.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Vincent Veyron 2013-04-10 13:33:01 Re: how to create materialized view in postgresql 8.3
Previous Message JotaComm 2013-04-10 13:24:07 Re: Characters