]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Sync unlogged relations to disk after they have been reset.
authorAndres Freund <andres@anarazel.de>
Fri, 14 Nov 2014 17:21:30 +0000 (18:21 +0100)
committerAndres Freund <andres@anarazel.de>
Sat, 15 Nov 2014 00:21:07 +0000 (01:21 +0100)
commit2c3ebfd1ad3523987ec6f268df020a5e1431572e
tree509dd27806358ede46ec6d99a8415006a39a3dc3
parent672b43e68b41d405143e5a474acf882ed7c154f3
Sync unlogged relations to disk after they have been reset.

Unlogged relations are only reset when performing a unclean
restart. That means they have to be synced to disk during clean
shutdowns. During normal processing that's achieved by registering a
buffer's file to be fsynced at the next checkpoint when flushed. But
ResetUnloggedRelations() doesn't go through the buffer manager, so
nothing will force reset relations to disk before the next shutdown
checkpoint.

So just make ResetUnloggedRelations() fsync the newly created main
forks to disk.

Discussion: 20140912112246.GA4984@alap3.anarazel.de

Backpatch to 9.1 where unlogged tables were introduced.

Abhijit Menon-Sen and Andres Freund
src/backend/storage/file/reinit.c