pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Andreas Kostyrka <andreas@kostyrka.org>
To: Denis Lishtovny <d.lishtovny@chronopay.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: How to determine which indexes are not using or using seldom in database
Date: Mon, 2 Apr 2007 09:45:21 +0200
Message-ID: <20070402074519.GC1382@andi-lap.la.revver.com> (raw)
In-Reply-To: <20070402081739.696D19FB609@postgresql.org>
References: <20070402081739.696D19FB609@postgresql.org>

* Denis  Lishtovny <d.lishtovny@chronopay.com> [070402 09:20]:
>    Hello All.
> 
>    I have a lot of tables and indexes in database. I must to determine which
>    indexes are not using or using seldon in databese . I enabled all posible
>    statistics in config but a can`t uderstand how to do this.
>    Thanks.
> 
>    p.s for example i need this to reduce database size for increase backup
>    and restore speed.
Indexes are not backuped, and you can increase restore speed by
temporarily dropping them. Current pg_dumps should be fine from this
aspect.

Discovering which tables are unused via the database suggests more of
a software eng. problem IMHO. And it is bound to be unprecise and
dangerous, tables might get read from:

*) triggers. That means some tables might be only consulted if user X
is doing something. Or we have full moon. Or the Chi of the DBA barked
3 times this day.

*) during application startup only (easy to solve by forcing all clients
to restart)

*) during a cron job (daily, weekly, monthly, bi-monthly)

*) only during human orginated processes.

Not a good thing to decide to drop tables just because nothing has
accessed them for half an hour. Or even a week.

Worse, some tables might have relationsships that are missing in the
database (foreign constraint forgotten, or some relationships that are
hard to express with SQL constraints).

OTOH, if you just try to get a feel what parts of the database is
active, you can start by enabling SQL statement logging, and analyze
some of that output.

Andreas




view thread (3+ messages)  latest in thread

Message-ID: <20070402074519.GC1382@andi-lap.la.revver.com>
Permalink:  ../20070402074519.GC1382@andi-lap.la.revver.com/
Also on:    postgresql.org/message-id/20070402074519.GC1382@andi-lap.la.revver.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: andreas@kostyrka.org, d.lishtovny@chronopay.com
  Subject: Re: How to determine which indexes are not using or using seldom in database
  In-Reply-To: <20070402074519.GC1382@andi-lap.la.revver.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox