public inbox for [email protected]  
help / color / mirror / Atom feed
From: Erik Wienhold <[email protected]>
To: Hoda Salim <[email protected]>
Cc: [email protected]
Subject: Re: [PATCH] docs: document N'...' national character string literal syntax
Date: Mon, 2 Feb 2026 18:09:18 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAAGT0iKc1Fq=mmK99fMd8O+QGZfCAqzx3bOWBcci6fO8SjLGtQ@mail.gmail.com>
References: <CAAGT0iKc1Fq=mmK99fMd8O+QGZfCAqzx3bOWBcci6fO8SjLGtQ@mail.gmail.com>

On 2026-02-02 16:05 +0100, Hoda Salim wrote:
> This patch documents the N'...' national character string literal
> syntax, which has been supported by PostgreSQL but was previously
> undocumented.
> 
> The documentation explains:
> - What the syntax is (N'hello')
> - What the SQL standard specifies (implementation-defined national
> character set)
> - What PostgreSQL actually does (treats it as a cast to character type)
> - Why it exists (compatibility with SQL migrated from other databases)
> 
> I verified the documentation builds without errors.

+1

I brought up the missing documentation before [1], but wasn't sure at
the time if Postgres conforms to the SQL standard (mainly because of
[2]).  Now I see that [3] already claims to support national character
(F421).  That entry was commented with "syntax accepted" until commit
35223af0579.  I read that as "fully supported" now.

> +     <productname>PostgreSQL</productname> does not implement a separate
> +     national character set; it treats <literal>N'...'</literal> as
> +     equivalent to a regular string constant cast to the
> +     <type>character</type> type, that is, <literal>'...'::character</literal>,
> +     using the database's character set.

nchar is an alias of bpchar.  There's no cast to char behind the scenes
since that would truncate the string:

	select n'foo', 'foo'::character;
	 bpchar | bpchar
	--------+--------
	 foo    | f
	(1 row)

Should we also mention the nchar alias in [4]?

[1] https://www.postgresql.org/message-id/om3g7p7u3ztlrdp4tfswgulavljgn2fe6u2agk34mrr65dffuu%40cpzlzuv6f...
[2] https://www.postgresql.org/message-id/[email protected]
[3] https://www.postgresql.org/docs/current/features-sql-standard.html
[4] https://www.postgresql.org/docs/current/datatype-character.html

-- 
Erik Wienhold





view thread (6+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: [PATCH] docs: document N'...' national character string literal syntax
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox