Hannu Krosing wrote:
Now that I think about it again, maybe we should NOT go for a shared memory implementation after all, as we now have HOT updates and thanks to the fact, that we have 1:1 correspondence between the backends and deleters in LISTEN/NOTIFY we can have much more exact DEAD-ness conditions and can reuse space even in presence of long-running transactions.

IOW, once we have deleted the message, we can be sure that no other backend will ever be interested in that row.

That means it may be possible to use a design similar to the one I just
sent and just make the tables not wal-logged and have dead space reused
in HOT-like manner.

Straight HOT wil not be useful here, as usage is INSERT/DELETE instead
of UPDATE, but similar principles, including heap space and index
pointer reuse could probably be done.


The only advantage to this ISTM is that we would eliminate the possibility of blocking.

But it still strikes me as rather more complex and thus possibly more fragile that what was previously discussed.

cheers

andrew



---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to