Re: fdatasync performance problem with large number of DB files

Justin Pryzby <pryzby@telsasoft.com>

From: Justin Pryzby <pryzby@telsasoft.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: David Steele <david@pgmasters.net>, Fujii Masao <masao.fujii@oss.nttdata.com>, Bruce Momjian <bruce@momjian.us>, Paul Guo <guopa@vmware.com>, Tom Lane <tgl@sss.pgh.pa.us>, Michael Brown <michael.brown@discourse.org>, pgsql-hackers@postgresql.org
Date: 2021-05-26T00:13:59Z
Lists: pgsql-hackers
On Sat, Mar 20, 2021 at 12:16:27PM +1300, Thomas Munro wrote:
> > > +     {
> > > +             {"recovery_init_sync_method", PGC_POSTMASTER, ERROR_HANDLING_OPTIONS,
> > > +                     gettext_noop("Sets the method for synchronizing the data directory before crash recovery."),
> > > +             },

Is there any reason why this can't be PGC_SIGHUP ?
(Same as restart_after_crash, remove_temp_files_after_crash)

As neat as it'd be, I am not expecting the recovery process to reload the
configuration and finish fast if I send it HUP.

While I'm looking, it's not clear why this needs to be PGC_POSTMASTER.
data_sync_retry - but see b3a156858

This one isn't documented as requiring a restart:
max_logical_replication_workers.

ignore_invalid_pages could probably be SIGHUP, but it's intended to be used as
a commandline option, not in a config file.

-- 
Justin



Commits

  1. Change recovery_init_sync_method to PGC_SIGHUP.

  2. Provide recovery_init_sync_method=syncfs.