[Proposal] Adding Log File Capability to pg_createsubscriber
Gyan Sreejith <gyan.sreejith@gmail.com>
From: Gyan Sreejith <gyan.sreejith@gmail.com>
To: pgsql-hackers@lists.postgresql.org
Cc: vignesh C <vignesh21@gmail.com>
Date: 2025-12-09T22:16:40Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
pg_createsubscriber: Don't use MAXPGPATH
- 99b726ac4894 19 (unreleased) landed
-
pg_createsubscriber: Remove separate logfile_open() function
- f5528b90b411 19 (unreleased) landed
-
pg_createsubscriber: Use logging.c log file callback
- 847336ba53af 19 (unreleased) landed
-
Add log file support to logging.c
- 41237556f8c5 19 (unreleased) landed
-
pg_createsubscriber: Add -l/--logdir option to redirect output to files.
- 6b5b7eae3ae6 19 (unreleased) landed
-
pg_createsubscriber: Introduce module-specific logging functions.
- d6628a5ea0a5 19 (unreleased) landed
Attachments
- diff.patch (application/octet-stream) patch
Background:
-
pg_createsubscriber currently outputs all messages (internal validation
messages, standby server start/stop logs, recovery progress output, and
output from utilities) directly to the console. As a result, users may find
debugging and handling errors difficult. It would be more convenient if
messages were separated and stored in different log files. There is already
a similar implementation in pg_upgrade.
Proposed Solution:
-
Based on issues mentioned previously, I would like to propose a new
argument -l <logdir> which can be specified for pg_createsubscriber. Using
it would create the following log files:
-
logdir/pg_createsubscriber_server.log which captures all logs related
to starting and stopping the standby server.
-
logdir/pg_createsubscriber_resetwal.log which captures the output of
pg_resetwal
-
logdir/pg_createsubscriber_internal.log which captures internal
diagnostic output from pg_createsubscriber (validations, checks, etc.)
Overall, this proposed solution could make the pg_createsubscriber command
output messages more organized. The command would be easier to use as users
will only have to read individual log files rather than parse through lots
of possibly irrelevant output messages. I have attached the patch for this
change.
Special thanks to Vignesh C. for his offlist guidance on this project.
Regards, Gyan Sreejith