Sean Murphy <Sean(dot)Murphy(at)equipoint(dot)com> writes:
> I'm WAY out of my depth here, but my impression, based on the
> circumstances, is that there is some sort of an idle session timeout
> kicking in (most likely on the client side) and dropping the connection.
There's no such timeout in the Postgres server, for sure. I would
actually bet that your problem is in some router between the client and
the server. In particular, routers that do NAT address mapping
typically have a timeout after which they will forget the mapping for an
idle connection. If you've got one of those, see if it'll let you
change the timeout.
If you can't do that, you might think about teaching your client-side
code to send dummy queries every so often.
regards, tom lane