On Mon, Nov 08, 2004 at 08:06:02PM -0500, Tom Lane wrote: > I believe that if VACUUM wants to delete a tuple that is on the same > physical page that a cursor is currently stopped on, the vacuum has to > wait until the cursor moves off that page. So the vacuum could > definitely be blocked by the cursor if the application is slow about > advancing the cursor. This isn't a deadlock though, unless the > application is also waiting for the vacuum to finish.
Well, that puts me back to one of my first theories, that I have an effective deadlock due to the lack of a dedicated request processing thread to handle the enumeration session requests. All the other threads have blocked waiting to handle other types of requests. I thought I had ruled it out from my reading that a read only cursor wouldn't block a vacuum, but I guess I was wrong. Thanks, I'll implement my work around. ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org