Re: pg_createsubscriber --dry-run logging concerns

From: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
To: Peter Smith <smithpb2250(at)gmail(dot)com>
Cc: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: pg_createsubscriber --dry-run logging concerns
Date: 2025-10-01 10:37:20
Message-ID: 202510011031.6emshjc2co4s@alvherre.pgsql
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2025-Oct-01, Peter Smith wrote:

> (code below may not work; it's just for illustrative purposes)
>
> #define pg_log_info_checkdry(...) do {\
> if (dry_run)\
> pg_log_generic(PG_LOG_INFO, PG_LOG_PRIMARY, "[dry-run NOP]" __VA_ARGS__);\
> else;\
> pg_log_generic(PG_LOG_INFO, PG_LOG_PRIMARY, __VA_ARGS__);\
> } while (0);

I like this kind of idea best. However I think it might be better to do
it the other way around: have the normal pg_log_info() check dry_run,
and have a special one for the messages that are to be identical in
either mode. I'm not sure how difficult this is to implement, though.

pg_subscriber is not the only program with a dry-run mode; it looks like
pg_archiveclean, pg_combinebackup, pg_resetwal, pg_rewind have one. Is
it worth maybe doing something at the common/logging.c level rather than
specifically pg_createsubscriber?

--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
[…] indem ich in meinem Leben oft an euch gedacht, euch glücklich zu machen. Seyd es!
A menudo he pensado en vosotros, en haceros felices. ¡Sedlo, pues!
Heiligenstädter Testament, L. v. Beethoven, 1802
https://de.wikisource.org/wiki/Heiligenstädter_Testament

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dmitry Dolgov 2025-10-01 10:42:38 Re: Changing shared_buffers without restart
Previous Message Ashutosh Bapat 2025-10-01 10:20:17 Re: Changing shared_buffers without restart