Re: WAL replay of truncate fails if the table was dropped

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: WAL replay of truncate fails if the table was dropped
Дата
Msg-id 7075.1184944339@sss.pgh.pa.us
обсуждение исходный текст
Ответ на WAL replay of truncate fails if the table was dropped  (Heikki Linnakangas <heikki@enterprisedb.com>)
Ответы Re: WAL replay of truncate fails if the table was dropped  (Heikki Linnakangas <heikki@enterprisedb.com>)
Список pgsql-bugs
Heikki Linnakangas <heikki@enterprisedb.com> writes:
> mdtruncate throws an error if the relation file doesn't exist.

Interesting corner case.  The proposed fix seems not very consistent
with the way we handle comparable cases elsewhere, though.  In general,
md.c will cut some slack when InRecovery if a relation is shorter than
expected, but not if it's not there at all.  (This is, indeed, what
justifies mdtruncate's response to file-too-short...)  We handle
dropped files during recovery by forced smgrcreate() in places like
XLogOpenRelation.  I'm inclined to think smgr_redo should force
smgrcreate() before trying to truncate.

            regards, tom lane

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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: WAL replay of truncate fails if the table was dropped
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: WAL replay of truncate fails if the table was dropped