Thread: pgsql: Prevent re-use of a deleted relation's relfilenode until after
pgsql: Prevent re-use of a deleted relation's relfilenode until after
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- Prevent re-use of a deleted relation's relfilenode until after the next checkpoint. This guards against an unlikely data-loss scenario in which we re-use the relfilenode, then crash, then replay the deletion and recreation of the file. Even then we'd be OK if all insertions into the new relation had been WAL-logged ... but that's not guaranteed given all the no-WAL-logging optimizations that have recently been added. Patch by Heikki Linnakangas, per a discussion last month. Modified Files: -------------- pgsql/src/backend/access/transam: xlog.c (r1.286 -> r1.287) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c?r1=1.286&r2=1.287) pgsql/src/backend/commands: tablespace.c (r1.49 -> r1.50) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablespace.c?r1=1.49&r2=1.50) pgsql/src/backend/storage/smgr: md.c (r1.129 -> r1.130) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/smgr/md.c?r1=1.129&r2=1.130) smgr.c (r1.106 -> r1.107) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/smgr/smgr.c?r1=1.106&r2=1.107) pgsql/src/include/storage: smgr.h (r1.59 -> r1.60) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/smgr.h?r1=1.59&r2=1.60)