Thank you for all your input. I have attached the latest version of the patch that includes the changes proposed by Vignesh and Amit. Please let me know if you have any questions or suggestions.
On Mon, 29 Dec 2025 at 16:40, vignesh C <vignesh21@gmail.com> wrote: > > On Wed, 24 Dec 2025 at 04:52, Gyan Sreejith <gyan.sreejith@gmail.com> wrote: > > > > Thank you for the feedback everybody. As I read through this email chain, I found differing opinions on how logging should be implemented. This ambiguity leaves me unsure as to which solution(s) to pursue. As of right now, I have attached the git-format patch like Hayato Kuroda recommended (but it does not have any new changes). I am willing to implement whatever solution when we reach a consensus. > > Few comments: > 1) The file permissions are 664 for pg_createsubscriber_internal.log, > pg_createsubscriber_resetwal.log but 600 for > pg_createsubscriber_server.log. The permissions should be the same for > all the files. > ... > if (opt->log_dir != NULL) > out_file = psprintf("%s/pg_createsubscriber_resetwal.log", opt->log_dir); > else > out_file = DEVNULL; > > cmd_str = psprintf("\"%s\" -D \"%s\" > \"%s\"", pg_resetwal_path, > subscriber_dir, out_file); > > pg_log_debug("pg_resetwal command is: %s", cmd_str); > ... > > ... > if (opt->log_dir != NULL) > { > appendPQExpBuffer(pg_ctl_cmd, " -l %s/pg_createsubscriber_server.log", > opt->log_dir); > } > > pg_log_debug("pg_ctl command is: %s", pg_ctl_cmd->data); > rc = system(pg_ctl_cmd->data); > ...
For this, you can align the file handling and umask behavior with the logic used in syslogger.c (logfile_open). Doing so will ensure that the resulting log files are created with consistent permissions across all cases. Additionally you can include "The umask is set to 077, so access to the log file is disallowed to other users by default" in the documentation of the pg_createsubscriber log option similar to how it is mentioned in [1]. [1] - https://www.postgresql.org/docs/current/app-pg-ctl.html