Re: lazy_truncate_heap()

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: lazy_truncate_heap()
Дата
Msg-id 1230832652.4032.106.camel@ebony.2ndQuadrant
обсуждение исходный текст
Ответ на Re: lazy_truncate_heap()  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: lazy_truncate_heap()
Список pgsql-hackers
On Thu, 2009-01-01 at 12:00 +0200, Heikki Linnakangas wrote:
> Greg Stark wrote:
> > 
> > On 31 Dec 2008, at 13:21, Simon Riggs <simon@2ndQuadrant.com> wrote:
> >>
> >> Both of these bugs are minor, but the effect of either/both of them is
> >> to cause more AccessExclusiveLocks than we might expect.
> >>
> >> For Hot Standby this means that many VACUUMs take AccessExclusiveLocks
> >> on relations, which would potentially lead to having queries cancelled
> >> for no reason at all.
> > 
> > Well by default it would just cause wal to pause briefly until the 
> > queries with those locks finish, no?
> 
> Wait a minute. Why does an AccessExclusiveLock lead to cancelled queries 
> or pausing WAL application? I thought it'd just block other queries 
> trying to acquire a conflicting lock in the standby, just like holding 
> an AccessExclusiveLock on the primary does. It's unrelated to the xmin 
> horizon issue.

Yes, it is unrelated to the xmin horizon issue. There are two reasons
for delaying WAL apply:
* locks
* xmin horizon

When a lock is acquired on the primary it almost always precedes an
action which cannot occur concurrently. For example, if VACUUM did
truncate a table then queries could get errors because parts of their
table disappear from under them. Others are drop table etc..

-- Simon Riggs           www.2ndQuadrant.comPostgreSQL Training, Services and Support



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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: lazy_truncate_heap()
Следующее
От: Magnus Hagander
Дата:
Сообщение: Kerberos options requiring restart