Re: add log messages when replication slots become active and inactive (was Re: Is it worth adding ReplicationSlot active_pid to ReplicationSlotPersistentData?)
Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Peter Smith <smithpb2250@gmail.com>,
Amit Kapila <amit.kapila16@gmail.com>, Greg Stark <stark@mit.edu>, Euler Taveira <euler@eulerto.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-11-16T12:38:52Z
Lists: pgsql-hackers
Attachments
- v18-0001-Log-messages-for-replication-slot-acquisition-an.patch (application/octet-stream) patch v18-0001
On Thu, Nov 16, 2023 at 4:01 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> On 2023-Nov-16, Peter Smith wrote:
>
> > I searched HEAD code and did not find any "translator:" comments for
> > just ordinary slot name substitutions like these; AFAICT that comment
> > is not necessary anymore.
>
> True. Lose that.
Removed.
> The rationale I have is to consider whether a translator looking at the
> original message message in isolation is going to understand what the %s
> means. If it's possible to tell what it is without having to go read
> the source code that leads to the message, then you don't need a
> "translator:" comment. Otherwise you do.
Agree. I think it's easy for one to guess the slot name follows "....
replication slot %s", so I removed the translator message.
> > SUGGESTION (#1a and #1b)
> >
> > ereport(log_replication_commands ? LOG : DEBUG1,
> > errmsg(SlotIsLogical(s)
> > ? "acquired logical replication slot \"%s\""
> > : "acquired physical replication slot \"%s\"",
> > NameStr(s->data.name)));
>
> The bad thing about this is that gettext() is not going to pick up these
> strings into the translation catalog. You could fix that by adding
> gettext_noop() calls around them:
>
> ereport(log_replication_commands ? LOG : DEBUG1,
> errmsg(SlotIsLogical(s)
> ? gettext_noop("acquired logical replication slot \"%s\"")
> : gettext_noop("acquired physical replication slot \"%s\""),
> NameStr(s->data.name)));
>
> but at that point it's not clear that it's really better than putting
> the ternary in the outer scope.
I retained wrapping messages in errmsg("...").
> You can verify this by doing "make update-po" and then searching for the
> messages in postgres.pot.
Translation gives me [1] with v18 patch
PSA v18 patch.
[1]
#: replication/slot.c:545
#, c-format
msgid "acquired logical replication slot \"%s\""
msgstr ""
#: replication/slot.c:547
#, c-format
msgid "acquired physical replication slot \"%s\""
msgstr ""
#: replication/slot.c:622
#, c-format
msgid "released logical replication slot \"%s\""
msgstr ""
#: replication/slot.c:624
#, c-format
msgid "released physical replication slot \"%s\""
msgstr ""
--
Bharath Rupireddy
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
Commits
-
Log messages for replication slot acquisition and release.
- 7c3fb505b14e 17.0 landed