Re: Hot Standby and cancelling idle queries
От | Heikki Linnakangas |
---|---|
Тема | Re: Hot Standby and cancelling idle queries |
Дата | |
Msg-id | 4B0E2076.9000002@enterprisedb.com обсуждение исходный текст |
Ответ на | Hot Standby and cancelling idle queries (Simon Riggs <simon@2ndQuadrant.com>) |
Ответы |
Re: Hot Standby and cancelling idle queries
|
Список | pgsql-hackers |
Simon Riggs wrote: > Recent change: > > 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. > > Open cursors still have snapshots, so they would not be treated as idle > in transaction. A backend is idle-in-transaction whenever a transaction is open and the backend is waiting for a command from the client. Whether it has active snapshots or open cursors doesn't affect that. > If the user has a held cursor then they can keep it, > since it has already read the database and released the snapshot. A held cursor can keep a temp file open. I suspect you missed the context of this change. It's about the code in tablespc.c, to kill all backends that might have a temporary file in a tablespace that's being dropped. It's not about tuple visibility but temporary files. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: