From: Masahiko Sawada Date: Thu, 16 Jul 2026 19:20:45 +0000 (-0700) Subject: pg_controldata: Show logical decoding status. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8e93e0c72b8aa225b0a66d4afdfb69e38d8b2424;p=thirdparty%2Fpostgresql.git pg_controldata: Show logical decoding status. The logical decoding status is stored in checkpoint records and used to restore the status at server startup, but pg_controldata did not show it. This information is useful for diagnosing issues around the dynamic activation and deactivation of logical decoding. Oversight in 67c20979ce7. Reviewed-by: Guoqing Yang Reviewed-by: Hayato Kuroda Discussion: https://postgr.es/m/CAD21AoAnPAugUnDic+ESvrfXjXHk2bss9eHAD7zP0-Chy2UabA@mail.gmail.com Backpatch-through: 19 --- diff --git a/src/bin/pg_controldata/pg_controldata.c b/src/bin/pg_controldata/pg_controldata.c index fe5fc5ec133..6fc87ed114d 100644 --- a/src/bin/pg_controldata/pg_controldata.c +++ b/src/bin/pg_controldata/pg_controldata.c @@ -264,6 +264,8 @@ main(int argc, char *argv[]) ControlFile->checkPointCopy.PrevTimeLineID); printf(_("Latest checkpoint's full_page_writes: %s\n"), ControlFile->checkPointCopy.fullPageWrites ? _("on") : _("off")); + printf(_("Latest checkpoint's logical decoding: %s\n"), + ControlFile->checkPointCopy.logicalDecodingEnabled ? _("on") : _("off")); printf(_("Latest checkpoint's NextXID: %u:%u\n"), EpochFromFullTransactionId(ControlFile->checkPointCopy.nextXid), XidFromFullTransactionId(ControlFile->checkPointCopy.nextXid));