During pg_basebackup, all files in pg_log directory will be copied to new backup directory.
[Design]
- Added new non-mandatory option “-S/--skip-log-dir” to pg_basebackup .
- If “skip-log-dir” is specified in pg_basebackup command, then in basebackup, exclude copying log files from standard “pg_log” directory and any other directory specified in Log_directory guc variable. (Still empty folder “pg_log”/$Log_directory will be created)
- In case, pg_log/$Log_directory is symbolic link, then an empty folder will be created
[Advantage]
It gives an option to user to avoid copying of large log files if they doesn’t wish to and hence can save memory space.
While pg_log is definitely the most common one being the default on many platforms, we'll still be missing other ones. Should we really hardcode it, or should we somehow derive it from the settings for log_directory instead?
As a more general discussion, is this something we might want to expose as a more general facility rather than hardcode it to the log directory only? And is it perhaps something we'd rather have configured at the server than specified in pg_basebackup - like a guc saying which directories should always be excluded from a basebackup? So you don't have to remember it every time?