Gavin Hamill wrote:
Hullo :)


We have pg 8.1.3 and for whatever reason (network blips, poor pooling on behalf of the client, etc.) we sometimes see a large number (dozens) of old connections in the idle state which never get reused.

They should expire based on your TCP/IP settings. It's a TCP/IP connection timeout issue really, PG never gets to see them.

Is there a function in postgres similar to MySQL's 'wait_timeout' which automatically closes any connections which have been idle for N seconds? Is this functionality possible to to script/cron by examining the pg catalogs and finding a 'last used' timestamp?

Hmm - are the times in pg_stat_activity useful to you.

I am aware the correct response is 'deal with the cause, not the symptoms', however I assure you that this academic approach wins no friends in the enterprise market that postgres pitches itself at :)

Run pgpool in front of PG for real control. That should be simple enough to tweak to provide whatever timeout rules you want.

HTH
--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to