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
|
| Список | 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 по дате отправления: