Thread: Re: Inconsistent LSN format in pg_waldump output
On Fri, Jul 4, 2025 at 5:18 PM Álvaro Herrera <alvherre@kurilemu.de> wrote: > > On 2025-Jul-04, Japin Li wrote: > > > I've opted to directly use %X/%08X for LSN formatting in this patch, with an > > accompanying comment near LSN_FORMAT_ARGS. > > Thank you! I support this approach and intend to work on getting this > patch committed soon after some more review, unless there are further > objections. > I am wondering whether we should question the restriction on using format macros because of translations. In fact, these format macros can actually aid translations e.g. if the translation sees LSN_FORMAT instead of %X/%X, it can use that knowledge to better translate the message since it knows that it's an LSN instead of two sets of hex numbers separated by /. If we could devise a prefix which will tell them that what comes next is a FORMAT for a special datatype, would the translation system be able to make use of this information. I am not familiar with the translation system and I might be wrong in making such an assumption. -- Best Wishes, Ashutosh Bapat
On 2025-Jul-07, Ashutosh Bapat wrote: > I am wondering whether we should question the restriction on using > format macros because of translations. Sure Mr. Quixote, the windmills are over there. > In fact, these format macros can actually aid translations e.g. if the > translation sees LSN_FORMAT instead of %X/%X, it can use that > knowledge to better translate the message since it knows that it's an > LSN instead of two sets of hex numbers separated by /. If we could > devise a prefix which will tell them that what comes next is a FORMAT > for a special datatype, would the translation system be able to make > use of this information. You'd have to talk with the gettext developers and then wait a decade or so for all the live distributions get a patched gettext release. For GNU gettext, this is explained at the bottom of this page: https://www.gnu.org/software/gettext/manual/html_node/No-string-concatenation.html I frankly wouldn't waste my time. Meanwhile, crake is failing the cross-version upgrade test because of this change, and I'm not sure what solution I'm going to offer. Maybe use the AdjustUpgrade.pm infrastructure to set all the pg_lsn column values to NULL if the old version is earlier than 19 and the new version is 19 or later :-) -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ Syntax error: function hell() needs an argument. Please choose what hell you want to involve.