Re: Hot Standby and cancelling idle queries - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Hot Standby and cancelling idle queries
Date
Msg-id 200912262247.13711.andres@anarazel.de
Whole thread Raw
In response to Re: Hot Standby and cancelling idle queries  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Wednesday 25 November 2009 17:25:43 Tom Lane wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
> > An idle-in-transaction transaction can also hold a temporary file. Think
> > of an open cursor, for example. Therefore, remove the distinction
> > between CONFLICT_MODE_ERROR and CONFLICT_MODE_ERROR_IF_NOT_IDLE,
> > idle-in-transaction backends need to be killed too when a tablespace is
> > dropped.
> 
> Um ... I think you have forgotten about WITH HOLD cursors, which will
> also have temp files.  Implication: whatever you are thinking of here
> would require killing EVERY session.  Conclusion: you need a different
> design.
Actually WITH HOLD cursors should not pose a problem - the code already tries 
to handle that:

In fd.c:OpenTemporaryFile:
 * BUT: if the temp file is slated to outlive the current transaction, * force it into the database's default
tablespace,so that it will not * pose a threat to possible tablespace drop attempts. */
 

Whether thats generally a good idea is another question.

Andres


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Removing pg_migrator limitations
Next
From: Kris Jurka
Date:
Subject: Hot Standy introduced problem with query cancel behavior