Re: Hot Standby and cancelling idle queries
От | Andres Freund |
---|---|
Тема | Re: Hot Standby and cancelling idle queries |
Дата | |
Msg-id | 200912262247.13711.andres@anarazel.de обсуждение исходный текст |
Ответ на | Re: Hot Standby and cancelling idle queries (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: