On 08/03/10 12:13 PM, David Kerr wrote:
> I know that Idle in Transactions are a problem, however I'm trying to
> assess how much of a problem.
>
> for example: If a java program connects to the DB and does "begin;"
> and then internally does a "sleep 6 days"
>
> Does that cauz any issues other than eating a connection to the database?
>
> (note, nothing i have does this, i'm just trying to understand)
>
> I know that "Idle in TXs" can interfere with Vaccums for example, but
> I'm not sure if that's due to them usually having some form of lock on a
> table.
no dead tuples created after the oldest active transaction (including
said <Idle in Transaction>) can be vacuumed, from anywhere in the database.
so, nothing deleted/updated since that BEGIN; you describe will get
vacuumed. this will likely lead to a high amount of database bloat if
you have a lot of update transactions. and when you finally terminate
that idle transaction vacuum wil have a LOT of work to do.