pg_stat_database deadlock counter

Started by Magnus Haganderabout 14 years ago3 messageshackers
Jump to latest
#1Magnus Hagander
magnus@hagander.net

Attached patch adds a counter for number of deadlocks in a database to
pg_stat_database.

While not enough to diagnose a problem on it's own, this is an easy
way to get an indicator when for when you need to go look in the logs
for details. Overhead should be very small - one counter per database
is not enough to bloat the statsfile,and if you have enough deadlocks
that the sendinf of the messages actually cause a performance
overhead, you have a bigger problem...

Comments?

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

Attachments:

pg_stat_database_deadlock.patchtext/x-patch; charset=US-ASCII; name=pg_stat_database_deadlock.patchDownload+86-10
#2Jaime Casanova
jcasanov@systemguards.com.ec
In reply to: Magnus Hagander (#1)
Re: pg_stat_database deadlock counter

On Mon, Jan 16, 2012 at 3:19 PM, Magnus Hagander <magnus@hagander.net> wrote:

Attached patch adds a counter for number of deadlocks in a database to
pg_stat_database.

A little review:

- it applies with a few hunks
- the oid you have chosen for the function pg_stat_get_db_deadlocks()
is already in use, please choose another one using the unused_oids
script (3150)
- pg_stat_reset() doesn't reset deadlock counter (see
pgstat_recv_resetcounter())

everything else seems fine to me

--
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación

#3Magnus Hagander
magnus@hagander.net
In reply to: Jaime Casanova (#2)
Re: pg_stat_database deadlock counter

On Sun, Jan 22, 2012 at 19:35, Jaime Casanova <jaime@2ndquadrant.com> wrote:

On Mon, Jan 16, 2012 at 3:19 PM, Magnus Hagander <magnus@hagander.net> wrote:

Attached patch adds a counter for number of deadlocks in a database to
pg_stat_database.

A little review:

- it applies with a few hunks
- the oid you have chosen for the function pg_stat_get_db_deadlocks()
is already in use, please choose another one using the unused_oids
script (3150)

yeah, taht always happens..

- pg_stat_reset() doesn't reset deadlock counter (see
pgstat_recv_resetcounter())

Good catch, thanks!

I've adjusted the patch for that, resolved the conflicts with the
other pg_stat_database patch, and committed it.

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/