Hi,

The attached patch adds a sentence to the asterisk item in section
4.1.4, saying that system columns are not included in * and must be
selected by name, with the suggested example and a link to the System
Columns section.

I built the docs locally (make check and make html) and the new text
and link render fine.

Thanks & Regards,



On Wed, Oct 28, 2026 at 1:40 PM PG Doc comments form
<[email protected]> wrote:
>
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/18/sql-syntax-lexical.html
> Description:
>
> >> The asterisk (*) is used in some contexts to denote all the fields of a
> table row or composite value.
>
> As for Postgres specifically, you can add an example like `SELECT ctid, *
> FROM t;` and a link to Section 5.6, “System Columns.”
>
>
>
>
>


--
Arvind Kandpal
Junior Software Engineer
(+91) 9650266413 www.ksolves.com

Years of
listing on
From 11ece8b43624801a0f31d1587eb22e395565a292 Mon Sep 17 00:00:00 2001
From: Arvind Kandpal <[email protected]>
Date: Wed, 28 Oct 2026 13:38:26 +0530
Subject: [PATCH v1] doc: Mention that * does not include system columns

Point out that system columns must be selected by name, and link to
the System Columns section.

Discussion: 178782026936.2606573.10270614257871556098@wrigleys.postgresql.org">https://postgr.es/m/178782026936.2606573.10270614257871556098@wrigleys.postgresql.org
---
 doc/src/sgml/syntax.sgml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml
index a697218c8b3..f7a4d079512 100644
--- a/doc/src/sgml/syntax.sgml
+++ b/doc/src/sgml/syntax.sgml
@@ -918,7 +918,10 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
     <listitem>
      <para>
       The asterisk (<literal>*</literal>) is used in some contexts to denote
-      all the fields of a table row or composite value.  It also
+      all the fields of a table row or composite value.  System columns
+      are not included and must be selected by name, as in
+      <literal>SELECT ctid, * FROM t</literal>.  (See <xref
+      linkend="ddl-system-columns"/>.)  The asterisk also
       has a special meaning when used as the argument of an
       aggregate function, namely that the aggregate does not require
       any explicit parameter.
-- 
2.43.0

Reply via email to