BUG #19539: psql 17.6 on Windows 11 prints random garbage characters in Russian localized output of \d
The following bug has been logged on the website:
Bug reference: 19539
Logged by: Maria Adyakova
Email address: adyakovam@gmail.com
PostgreSQL version: 17.6
Operating system: Windows 11
Description:
Environment
PostgreSQL: 17.6
psql: 17.6
Windows 11
Official EnterpriseDB installer
UTF-8 console (code page 65001)
server_encoding = UTF8
client_encoding = UTF8
Description
When running \d <table> in Russian localization, the output sometimes
contains random garbage Unicode characters immediately after the localized
header "По умолчанию".
Example:
Таблица "public.articles"
Столбец | Тип | Правило сортировки | Допустимость NULL | По умолчанию
⫐鄢ʧ
The garbage characters change every execution.
Switching the locale to English:
set LANG=C
completely eliminates the problem.
The issue reproduces even when starting psql with:
psql -X
so it does not appear to be related to user configuration.
Expected behavior:
No extra characters after the localized header.
Actual behavior:
Random Unicode garbage appears after "По умолчанию" on every invocation.
On Tue, Jun 30, 2026 at 3:12 AM PG Bug reporting form
<noreply@postgresql.org> wrote:
When running \d <table> in Russian localization, the output sometimes
contains random garbage Unicode characters immediately after the localized
header "По умолчанию".Example:
Таблица "public.articles"
Столбец | Тип | Правило сортировки | Допустимость NULL | По умолчанию
⫐鄢ʧThe garbage characters change every execution.
Do any other languages show clues? Could you please try Ukrainian,
Greek, Japanese?
#: describe.c:2070 describe.c:4572
msgid "Default"
msgstr "По умолчанию"
headers[cols++] = gettext_noop("Default");
That is then fed through pg_wcsformat(). I wonder if that could be
confused about encodings and NUL terminators or something, but I don't
have a specific theory. Could you please locate the relevant psql.mo
file and share it, so we can check it contains the expected byte
sequence?