Re: On-the-fly index tuple deletion vs. hot_standby

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: On-the-fly index tuple deletion vs. hot_standby
Дата
Msg-id 4D7E0266.70100@enterprisedb.com
обсуждение исходный текст
Ответ на Re: On-the-fly index tuple deletion vs. hot_standby  (Noah Misch <noah@leadboat.com>)
Ответы Re: On-the-fly index tuple deletion vs. hot_standby  (Noah Misch <noah@leadboat.com>)
Список pgsql-hackers
On 12.03.2011 12:40, Noah Misch wrote:
> The installation that inspired my original report recently upgraded from 9.0.1
> to 9.0.3, and your fix did significantly decrease its conflict frequency.  The
> last several conflicts I have captured involve XLOG_BTREE_REUSE_PAGE records.
> (FWIW, the index has generally been pg_attribute_relid_attnam_index.)  I've
> attached a test script demonstrating the behavior.  _bt_page_recyclable approves
> any page deleted no more recently than RecentXmin, because we need only ensure
> that every ongoing scan has witnessed the page as dead.  For the hot standby
> case, we need to account for possibly-ongoing standby transactions.  Using
> RecentGlobalXmin covers that, albeit with some pessimism: we really only need
> LEAST(RecentXmin, PGPROC->xmin of walsender_1, .., PGPROC->xmin of walsender_N)
> - vacuum_defer_cleanup_age.  Not sure the accounting to achieve that would pay
> off, though.  Thoughts?

Hmm, instead of bloating the master, I wonder if we could detect more 
accurately if there are any on-going scans, in the standby. For example, 
you must hold a lock on the index to scan it, so only transactions 
holding the lock need to be checked for conflict.

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


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Devrim GÜNDÜZ
Дата:
Сообщение: Re: initdb -A ident, with params
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Shared invalidation cache messages for temporary tables