From noreply@postgresql.org Mon Jun 29 15:13:46 2026 Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1weDea-004eJe-0K for pgsql-bugs@arkaria.postgresql.org; Mon, 29 Jun 2026 15:12:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1weDeY-003pHn-2h for pgsql-bugs@arkaria.postgresql.org; Mon, 29 Jun 2026 15:12:06 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1weDPC-003n4l-08 for pgsql-bugs@lists.postgresql.org; Mon, 29 Jun 2026 14:56:14 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1weDP8-00000000noW-3Kby for pgsql-bugs@lists.postgresql.org; Mon, 29 Jun 2026 14:56:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:Cc:From:To:Subject: Content-Transfer-Encoding:MIME-Version:Content-Type:Sender:Content-ID: Content-Description:In-Reply-To:References; bh=qWUb1uMop60DwABQDcl1ueRmda4N+DGfD7/GPQe5huw=; b=2JzH54zuQbomX6HeQ8jpSLJNrO aD+Lq4kEh+bZLHiLfCKnEY8meeaTpnAzcTzoyP9sCqZGwNPTBppcWYaPQJqTJQ+MNqybuLB2nYrPY o71cWVwTjLPsKzb2qo+Dupw5gmzeo/GPeOggN30fZAlXAhKw0M3uJCXhj6gGsHlzzOfNwAUNWBgv3 XtSbVAiEwoZEtCFi93XcMdwJPw/vfkI5ArTa7Lizw6bjUVXzG9fl16TezGUFLsN30MX6BVVUGPhvH XuJLkMQGyB8T1RAZ2YqB4R1OYrjB6h85P3H0UZ9GAR5ow2EA5p0PI7zxJL22zJCFb+UatOwBK4kfA OdzahHQA==; Received: from wrigleys.postgresql.org ([2a02:16a8:dc51::60]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1weDP7-008Ims-0y for pgsql-bugs@lists.postgresql.org; Mon, 29 Jun 2026 14:56:09 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1weDP1-005vU8-05 for pgsql-bugs@lists.postgresql.org; Mon, 29 Jun 2026 14:56:03 +0000 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: BUG #19539: psql 17.6 on Windows 11 prints random garbage characters in Russian localized output of \d To: pgsql-bugs@lists.postgresql.org From: PG Bug reporting form Cc: adyakovam@gmail.com Reply-To: adyakovam@gmail.com, pgsql-bugs@lists.postgresql.org Date: Mon, 29 Jun 2026 14:55:10 +0000 Message-ID: <19539-938dea64f871c379@postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk 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: =20 Environment PostgreSQL: 17.6 psql: 17.6 Windows 11 Official EnterpriseDB installer UTF-8 console (code page 65001) server_encoding =3D UTF8 client_encoding =3D UTF8 Description When running \d in Russian localization, the output sometimes contains random garbage Unicode characters immediately after the localized header "=D0=9F=D0=BE =D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E= ". Example: =D0=A2=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B0 "public.articles" =D0=A1=D1=82=D0=BE=D0=BB=D0=B1=D0=B5=D1=86 | =D0=A2=D0=B8=D0=BF | =D0=9F= =D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D0=BE =D1=81=D0=BE=D1=80=D1=82=D0=B8=D1=80= =D0=BE=D0=B2=D0=BA=D0=B8 | =D0=94=D0=BE=D0=BF=D1=83=D1=81=D1=82=D0=B8=D0=BC= =D0=BE=D1=81=D1=82=D1=8C NULL | =D0=9F=D0=BE =D1=83=D0=BC=D0=BE=D0=BB=D1=87= =D0=B0=D0=BD=D0=B8=D1=8E =E2=AB=90=E9=84=A2=CA=A7 The garbage characters change every execution. Switching the locale to English: set LANG=3DC 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 "=D0=9F=D0=BE =D1=83=D0=BC=D0=BE=D0=BB= =D1=87=D0=B0=D0=BD=D0=B8=D1=8E" on every invocation. From thomas.munro@gmail.com Thu Jul 2 01:03:40 2026 Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wekoi-004zeJ-2H for pgsql-bugs@arkaria.postgresql.org; Wed, 01 Jul 2026 02:36:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wekoh-00BK4B-20 for pgsql-bugs@arkaria.postgresql.org; Wed, 01 Jul 2026 02:36:47 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wekoh-00BK43-1B for pgsql-bugs@lists.postgresql.org; Wed, 01 Jul 2026 02:36:47 +0000 Received: from mail-dy1-x1331.google.com ([2607:f8b0:4864:20::1331]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wekof-000000017gm-1lsN for pgsql-bugs@lists.postgresql.org; Wed, 01 Jul 2026 02:36:47 +0000 Received: by mail-dy1-x1331.google.com with SMTP id 5a478bee46e88-30ca276118eso16542eec.0 for ; Tue, 30 Jun 2026 19:36:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782873403; cv=none; d=google.com; s=arc-20260327; b=ZBDeAdUwWYK8rVdfouOnoxxO2IHJI6mf06MnvWvZ0N1brok9ztnLJnYemUfeq/QRNf rR+mpKvtcuqy37rOeoo6mjB5Z49v0vgOuY7CVXvSEZZAHv8BPG82PcG4YG+VrNTbKBmH aghDzzyv1U62bWZdbST7afhhouAtEnmrF37w5l0stlGnf5TuWPakzJBemD6rmf/ZCeKo GYwqwwyEh7Sq/WxdR8AC/i4Ho1vg9o0NNDjrBstWF/HoCeDA4S6PcbTxVB8bxbAipgGm hAOfaLEwWdB5feNIaDsKBJXloCBPuGXLc7GAjC3pxQKp3cQtC8thMSD2VnvFdVFF6R/9 5Swg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=0x/x2Z7fHQ41Lds+/blckmU81YnzsEdmBtcOaFSn1Ms=; fh=jZubHHxb73srjCtKb1jghWV5QaM8LCDfMToCMaAAlTc=; b=eMyfEfCdNitDtYTK/mrwTzN6pdxx2yiP+GFlWhCiqD+lHnEEGt0qTKLg3RS4LQvg97 /exlIRwISnf7qzvgfjZW2C2h8c3AC6m0cpJqrIGEdrT6i6bu/fbcbf/5B2jIPxupkvw9 jUdciiElEMJr+nfNX7TeEbRpZd/mU/3+92Wftf6uPL2YqLIGCVLIgw2V+BhdX7nrcTwS 4835RavfOmfOr+U3dxW/uzhV5HQcDXIozbpC2FTw4k4Ojbg4loAS1ueFOrXadJ9egJzf rsAwejMyOGPCN5wuPEORSzstm7vVqK678IPAE4+iUPPQZXi0LBNxsGqyAsNy9lcMBbua weHw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782873403; x=1783478203; darn=lists.postgresql.org; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:in-reply-to:references:mime-version:from:to:cc:subject :date:message-id:reply-to:content-type; bh=0x/x2Z7fHQ41Lds+/blckmU81YnzsEdmBtcOaFSn1Ms=; b=MoWokyP1aeLOEr0y76tHAMM09LBH/maB4LcszE1NuvBFk1LxU1uQpqrqbQKTAN4rGk OzVBLlyzqSum9Fr5fGb/YD7QvnUu+e+Rx4fZsqS3OBMZ+dlQSh01jFDx4/VK4o5KP8fx 4qLNtIuXnxyt9GkamHrYfLsgXIHoXsz66YvXHprvTuAwyaFKfX/8GSLu0YH4sLHTeL4F KOpROhPf8ayAxHLd8F5YFjpSgNn/nM160QVuMjKzBA+kbM5TM6WWibr8bc4fFB8d03Bf Q0D3/pyDBFoSaZOrsZZYAS3y4P6vie8kU7zGDOJriZOrSZZsJDKT1y14oVnxJatzXwZz je+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782873403; x=1783478203; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:in-reply-to:references:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=0x/x2Z7fHQ41Lds+/blckmU81YnzsEdmBtcOaFSn1Ms=; b=VU80hIlQlyXA/UzagcDyzO2c+UjN3ayQeklkCg3QpBA8yF+zAN7+QYe/vs0+CFsBMC zigf0lGItkt6ZCiZ2RGBcBz97vGAjwpLfEYJun50qgQQBxLZY5wdhf+2833qbrGpRE9Y 3A97T6HFZba5VyvnUm4j/W1r6ltxjAweZ/SBwTPcmEc1+iHWSCbJAbL5JxA/ciDndQ+G 4DJjjh4knCAaDqlfpmBZvp488raZctgwBUefjUOLwk0pq67rd3VcnA1cZCnx44topreB dEH+B26NlZawgAV7/qkW4I2iyM8Ml+PdULFrnnLZgrm642RV44e9GSjPUd5UJCFsLyeQ +28g== X-Forwarded-Encrypted: i=1; AHgh+RoUVbUS4DrxtITlJV8GT0wrq4ZT/SzGc8NxDaQdMpFcvupYCy6qOQ3mUnsAR+13NE+e3A0QR3nA2etx@lists.postgresql.org X-Gm-Message-State: AOJu0YyViV2A4ERb4b934DmFq0STFZTXfus4AE6CkoypHhQ+NQ3oUAOm 8Xa2WrnSdpkvUfurTfBIzQeoRbsiNZdk8TfumRBVbLfps2ivi7GRCFyBWNvV7/Urn+bJaOL6EFl 0N6QkAFUuXthexKjkRcDG4ou/qZKZLIA= X-Gm-Gg: AfdE7ckWquQl3DQ7l7AtGANqXw7QTuOExgmZAsZZnq4GjI/QjFAOby3WV43TmeatOo2 h4ol4k67GnwYqKD4Gu9i7DWnYZT6mQosisP+fRArCL7kjYohyH0ADHXFqJOmULj62dVw1WfNwFO rsm+Eis8Sq4HHtYrgDTXXkMUwaFC89YTPxNwFx5Tvv6bkRrXkZZdFx/RYqn4GsVyeUKWHb8imtE Rs+rgdE+BLQ/fuGKypyq7rjZ895mz9eyDn++awb9WOJPjMYe3i5CHnHclG0fWdmC376LvMarN4O LTM/HIXgSyvsLHuQQH3m6SUoYKZcXOgR2ArRT+CY8Nj1X/vlpwzvdg== X-Received: by 2002:a05:7301:6e98:b0:304:e327:aef8 with SMTP id 5a478bee46e88-30ee119c405mr1928586eec.2.1782873402789; Tue, 30 Jun 2026 19:36:42 -0700 (PDT) MIME-Version: 1.0 References: <19539-938dea64f871c379@postgresql.org> In-Reply-To: <19539-938dea64f871c379@postgresql.org> From: Thomas Munro Date: Wed, 1 Jul 2026 14:36:05 +1200 X-Gm-Features: AVVi8CfQ6gkg7lvGJjGQqMVRXHhbzgVKX4-WFudnGmqDBqvyW0wRY1OX2qrgz9U Message-ID: Subject: Re: BUG #19539: psql 17.6 on Windows 11 prints random garbage characters in Russian localized output of \d To: adyakovam@gmail.com, pgsql-bugs@lists.postgresql.org Cc: Bryan Green Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, Jun 30, 2026 at 3:12=E2=80=AFAM PG Bug reporting form wrote: > When running \d
in Russian localization, the output sometimes > contains random garbage Unicode characters immediately after the localize= d > header "=D0=9F=D0=BE =D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1= =8E". > > Example: > > =D0=A2=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B0 "public.articles" > =D0=A1=D1=82=D0=BE=D0=BB=D0=B1=D0=B5=D1=86 | =D0=A2=D0=B8=D0=BF | =D0=9F= =D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D0=BE =D1=81=D0=BE=D1=80=D1=82=D0=B8=D1=80= =D0=BE=D0=B2=D0=BA=D0=B8 | =D0=94=D0=BE=D0=BF=D1=83=D1=81=D1=82=D0=B8=D0=BC= =D0=BE=D1=81=D1=82=D1=8C NULL | =D0=9F=D0=BE =D1=83=D0=BC=D0=BE=D0=BB=D1=87= =D0=B0=D0=BD=D0=B8=D1=8E > =E2=AB=90=E9=84=A2=CA=A7 > > 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 "=D0=9F=D0=BE =D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E= " headers[cols++] =3D 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?