Re: VACUUM unable to accomplish because of a non-existent MultiXactId

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: VACUUM unable to accomplish because of a non-existent MultiXactId
Дата
Msg-id 20151127204757.GF4320@alvherre.pgsql
обсуждение исходный текст
Ответ на Re: VACUUM unable to accomplish because of a non-existent MultiXactId  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-admin
Tom Lane wrote:
> Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> > Tom Lane wrote:
> >> Couldn't creation and deletion of a toasted object within the same
> >> transaction do it?
>
> > I tried and couldn't find a way to cause one to appear.  When a row is
> > created, it has xmax=0 so when it's deleted the xmax can just be set to
> > the deleting xact.  And we don't ever update pg_toast rows, AFAIK.
>
> Ah, nevermind, brain fade ... I was momentarily confusing this with
> combo CIDs.  Right, there are no updates or row locks taken on toast
> table rows (unless someone were to do one manually?)

Both UPDATE and SELECT FOR UPDATE fail right away:

alvherre=# update pg_toast.pg_toast_16398 set chunk_id = 7 where chunk_id = 5;
ERROR:  cannot change TOAST relation "pg_toast_16398"

alvherre=# select * from pg_toast.pg_toast_16398 for update;
ERROR:  cannot lock rows in TOAST relation "pg_toast_16398"

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: VACUUM unable to accomplish because of a non-existent MultiXactId
Следующее
От: Kouber Saparev
Дата:
Сообщение: Re: VACUUM unable to accomplish because of a non-existent MultiXactId