pgsql: Sync unlogged relations to disk after they have been reset.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Sync unlogged relations to disk after they have been reset.
Date: 2014-11-15 00:34:19
Message-ID: E1XpRJj-0002jM-Bl@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(dot)GA4984(at)alap3(dot)anarazel(dot)de

Backpatch to 9.1 where unlogged tables were introduced.

Abhijit Menon-Sen and Andres Freund

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/98ec7fd903bbd4ab1694de5aaa4f7bb62935c58d

Modified Files
--------------
src/backend/storage/file/reinit.c | 47 +++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2014-11-15 00:34:22 pgsql: Fix initdb --sync-only to also sync tablespaces.
Previous Message Tom Lane 2014-11-14 22:20:08 pgsql: Document evaluation-order considerations for aggregate functions