I'm confused shouldn't read-only transactions on the slave just be hacked to not set any hint bits including lp_delete?

--
Greg


On 19 Dec 2008, at 03:49, Heikki Linnakangas <heikki.linnakan...@enterprisedb.com > wrote:

Whenever a B-tree index scan fetches a heap tuple that turns out to be dead, the B-tree item is marked as killed by calling _bt_killitems. When the page gets full, all the killed items are removed by calling _bt_vacuum_one_page.

That's a problem for hot standby. If any of the killed b-tree items point to a tuple that is still visible to a running read-only transaction, we have the same situation as with vacuum, and have to either wait for the read-only transaction to finish before applying the WAL record or kill the transaction.

It looks like there's some cosmetic changes related to that in the patch, the signature of _bt_delitems is modified, but there's no actual changes that would handle that situation. I didn't see it on the TODO on the hot standby wiki either. Am I missing something, or the patch?

--
 Heikki Linnakangas
 EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to