Commit/abort WAL records with dropped rels missing XLR_SPECIAL_REL_UPDATE
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-08-14T08:47:24Z
Lists: pgsql-hackers
Attachments
- 0001-Make-xact.h-usable-in-frontend.patch (text/x-patch)
While hacking on pg_rewind, I noticed that commit and abort WAL records are never marked with the XLR_SPECIAL_REL_UPDATE flag. But if the record contains "dropped relfilenodes", surely it should be? It's harmless as far as the backend and all the programs in PostgreSQL repository are concerned, but the point of XLR_SPECIAL_REL_UPDATE is to aid external tools that try to track which files are modified. Attached is a patch to fix it. It's always been like that, but I am not going backport, for fear of breaking existing applications. If a program reads the WAL, and would actually need to do something with commit records dropping relations, that seems like such a common scenario that the author should've thought about it and handled it even without the flag reminding about it. Fixing it in master ought to be enough. Thoughts? - Heikki
Commits
-
Mark commit and abort WAL records with XLR_SPECIAL_REL_UPDATE.
- a28d731a1187 14.0 landed