Peter,
I don't know if this is directly related to your problem, but the
version of dbd_db_pg_notifies you are using has a memory leak in it.
The memory leak causes a small amount of memory to be leaked every time
pg_notifies is called from your perl code. This memory leak affected
several versions of Pg-DBD, up to version 1.49. It should be fixed in
later versions of Pg-DBD.
The fix is a one line change; a patch file is attached.
I hope this is helpful,
Steve Marshall
*** dbdimp.c.1.49 2006-08-29 16:04:37.000000000 -0400
--- dbdimp.c 2006-08-29 16:23:32.000000000 -0400
***************
*** 832,838 ****
retsv = newRV(sv_2mortal((SV*)ret));
! return retsv;
} /* end of dbd_db_pg_notifies */
--- 832,838 ----
retsv = newRV(sv_2mortal((SV*)ret));
! return sv_2mortal(retsv);
} /* end of dbd_db_pg_notifies */