We had problems again, caused by long running transactions. I'm
monitoring the pg_stat_activity view, checking the query_start of all
requests that are not idle - but this one slipped under the radar as the
application was running frequent queries towards the database.
That's not what concerns me most. We had two databases running under
postgres at this host - like, main production database (A) and a
separate smaller database for a separate project (B). As far as I
understood postgres philosophy, the databases should be isolated from
each other, i.e. one are not allowed to create a query that goes across
the database borders (select * from A.customers join B.logins ...). So,
I was surprised to see that the application working towards database B
managed to jam up database A, to the extent that we couldn't get A
vacuumed properly.