On Fri, Nov 20, 2015 at 4:11 PM, Michael Paquier <michael.paqu...@gmail.com> wrote: > For master and perhaps 9.5, I would think that a dedicated WAL record > type enforcing the fsync is the way to go. This special treatment > would go only for btree and spgist when they use INIT_FORKNUM and we > would not impact other relation types and code paths with this > behavior.
So, I have been looking at that, and finished with the attached to implement this idea. This way, it is possible to control at replay if a relation should be synced to disk just after replaying a FPI or a set of FPIs. This makes btree and spgist init forks more consistent at replay with what is done on master by syncing them immediately, which is not a bad thing to me. Now, and actually my last email has been misleading as well, this patch as well as the previous patch I sent for ~9.4 do not actually fix the initialization of indexes for unlogged tables after promoting a standby. Hence I guess that we are still missing a trick when reinitializing those relations at the end of recovery. It is a bit late here so I am attaching a patch reflecting the progress I have done. Comments are welcome. -- Michael
20151121_xlog_fpi_replay_master_95.patch
Description: binary/octet-stream
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers