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 1vwtLc-002DHV-1g for pgsql-general@arkaria.postgresql.org; Mon, 02 Mar 2026 02:49:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vwtLb-00F0eU-08 for pgsql-general@arkaria.postgresql.org; Mon, 02 Mar 2026 02:49:27 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vwtLa-00F0eM-2B for pgsql-general@lists.postgresql.org; Mon, 02 Mar 2026 02:49:26 +0000 Received: from mail-yx1-xb130.google.com ([2607:f8b0:4864:20::b130]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vwtLX-000000025HS-1uul for pgsql-general@lists.postgresql.org; Mon, 02 Mar 2026 02:49:25 +0000 Received: by mail-yx1-xb130.google.com with SMTP id 956f58d0204a3-64ca9ec3ee7so3956974d50.3 for ; Sun, 01 Mar 2026 18:49:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772419763; cv=none; d=google.com; s=arc-20240605; b=Vk0EgyWkwBO75D0pU/VEP8oCn9clT5q5LHget5HEkbkPx3ErkYetsvnCPJnVTD2I7C HYzeR3lHJFVd0WcUIJzX84tEoiLXZzoPzcOXJ11pnbDkMBY9K0GQ2wkWyLVCQa91Bs89 G7NMZcvumDSMa/XLiMeTM7Umj7Ujot0u1nG8WTRRbtZyc5kZEroOCWRjfYxCYQFCIK6E YOSpEjg9yxXxGaFmWEO6xwVaj5ZR1wlRFUiIgrGs1IG1LAmAWIUHCpq0cOzekOdXpvY7 QxiuOBpDxQSLhvwSUJQVJBVfEJd+XXL3+EQUGfS0ODFPQTUwLUw2OxIHpJ44u0W5H+03 DBzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=J4hpZABDBEopYgHzLaW4lZGvDUGqhtiFwA8u3kP5gYo=; fh=w+l99xKBbU6ZY2bpHUANc5swedItNoLj48eUcW0kNFA=; b=V71IK/jiRhGLh331ol1KX3k9LhKFv2yisY6VEnNP2GlI7/2mGugDk1m0tbUIJgWLAQ LDx/x6d2udZBNgoaBmMLQBODcUt9/xaBMdR/JKauE10ank5dAnQ5pX+oHwW91Gqj0na2 xMJh3AlPT3CpunR+b8kse5lMPB8+ky1Zo39F6bUqOVma31SJVp1LwW4aJ0nq9USAe4dR OYXj1gx5ygQCYmySVdoEdtptQwq+dM33G+w//ehmB+vLpVk2C8dXhNjkXllGVXgmF83V jneVSWVvKB6WqlVawjiz2puh4v4iBTthWBr2Dd6u0g11VlSM+70zYDSOecrM08bnLU1r N6mg==; 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=20230601; t=1772419763; x=1773024563; darn=lists.postgresql.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=J4hpZABDBEopYgHzLaW4lZGvDUGqhtiFwA8u3kP5gYo=; b=BIAr7cNu8vcfxMSizIjCcedmMU+RpVWRc8tjnsNbKiPvnFcAtWKCC2G5U8LhjmTWun Xto3JG+mgI/33NyXE9xskhcGA2ipLUKf+SAkzlQkZ8mgQC1Ur6BjuL46w2GG4czmTVX4 YvooaSZKqOVHrZLDHP4dgdZngAYbNetnsQzUSf/Y4n2cdlIertU1OxqUq3RceKcIX7SV RiX6hQZvvXBie1pTyyWP48yEoSUmkpmPyG8W6ytfJ2j9h8m5V6kvhVN4EUsD41xn84t3 G9JZVb69Ejw9NgZrJpIYeJZkyhTRtdvT1QifDr0A1CGPaltGvGYvCBCvmCm4wO8escgZ mXcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772419763; x=1773024563; h=content-transfer-encoding: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; bh=J4hpZABDBEopYgHzLaW4lZGvDUGqhtiFwA8u3kP5gYo=; b=EQ4fCVFQxONNzUegthgYaWw/SLwgUxdtyv5jdARkgl1psfH9rrqRxjMvEOtsqg+5az 0T1Myh5/xIR/Hgdla5fMkRzQsICa1wiKbkpNhLTq5oVbAt/9AyVl2/Pv4KNAMXA06IVT XozPoSrokpngL7F9VQjuSPZaJvChzLW84TLkWnWCfd7OdkiccsVinrgCYrAMHbogysFq nrHLCDu3w7NaeQsSyX73xyLofXNs7eitUEMlQvAC8rXMWowkwbhm0kk/UVXLfyiiMURc 6pUFJS8zEtKTvdIKzg2NL2L8ozaflBjHwUS4sV8yUlyBxnaPxxU9eE04DVPM2ZtB8BnX 2iRw== X-Forwarded-Encrypted: i=1; AJvYcCUQ0n4Ij2KbPG8wunTljFDnkvii+c/qSfecPsV8XeToVlnj1IGv99AZC5vDWaRshb3yhuw4R/riZ3nLzlUe@lists.postgresql.org X-Gm-Message-State: AOJu0YycXdJXEYiHfi8i6TA4NKLmHfAdNI+8zMmQoDUiuYG1JEeSSQ0T FfePOy0o73x72XfTZC804V+/YCw7qNntHH5eVt+9IDaFUteVC/xBQX2i/YTjQd6tBhbyiOjZP9E jWR8FmsoOc+wqhEbX08F9w57KMLXU5Vw= X-Gm-Gg: ATEYQzxL9V02eF1IBHdnt9nGmzPAQ421AENnxzJVml5QtrPfDamyX/IgMSy7nWwRMo3 tYMCw5mBwWUB247yGzgBWam/V5zTmjKqrWgM1HkjZ5f+NP4eMql0rJ9cpr5wI8/tSTolSk6UDnp t/cR6RBFib3sFZMGrLtQ3V5oQ83HkRHQAVUrLPXoeR5dyxdZWIAlCzj1KFMc4hmWW5mYqiCSKon uLkXK2+YfnUOJ8JKB1uIm7+RoPoyzWnO7P9uYwYjRtCBLIxERwZESQU8M08fXSNdzbDQKYtjvVv Rdu5cxwXLJAvO1wKxrZ6IA== X-Received: by 2002:a53:d048:0:20b0:645:5297:3e65 with SMTP id 956f58d0204a3-64cc2049732mr7398527d50.11.1772419763381; Sun, 01 Mar 2026 18:49:23 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Igor Korot Date: Sun, 1 Mar 2026 20:49:09 -0600 X-Gm-Features: AaiRm52LE-pqeaO4SpIOgonLUMX4TW_oJ34X-bDMNuLKD70yCmEpqGkwu0yqfxw Message-ID: Subject: Re: Documentation weirdness To: "David G. Johnston" , "pgsql-generallists.postgresql.org" 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 Thx for the quick reply. Agreed. On Sun, Mar 1, 2026 at 8:09=E2=80=AFPM David G. Johnston wrote: > > On Sun, Mar 1, 2026 at 6:38=E2=80=AFPM Igor Korot wr= ote: >> >> Hi, ALL, >> I'm looking at https://www.postgresql.org/docs/current/sql-createtable.h= tml >> and see some weird stuff. >> >> When I try to search for "PRIMARY KEY" I eventually hit following: >> >> [quote] >> PRIMARY KEY (column constraint) >> PRIMARY KEY ( column_name [, ... ] [, column_name WITHOUT OVERLAPS ] ) >> [ INCLUDE ( column_name [, ...]) ] (table constraint) >> [/quote] >> >> Now I want to check what "column_constraint" is. > > > You read in an underscore in the parenthetical that isn't there. That sa= id, I concur that using a label here that so closely matches something that= exists within the page, to mean something else, is just asking for this ki= nd of confusion. > > Looking at this, I did find a real sgml markup mistake. The highlighting= in dark mode makes it obvious since the whole "literal" should be shaded d= ifferently but a couple of parts are not. > > The diff below fixes the sgml problem by removing the inner clo= se/open pair and placing the closing element inside the closing = element. > > I have also added the word "variant" to the two labels to make it clear t= hey are indeed two variants of the same thing (as described below) as oppos= ed to some kind of syntax element. > > > diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create= _table.sgml > index 982532fe725..befadf1d696 100644 > --- a/doc/src/sgml/ref/create_table.sgml > +++ b/doc/src/sgml/ref/create_table.sgml > @@ -1067,9 +1067,9 @@ WITH ( MODULUS num= eric_literal, REM > > > > - PRIMARY KEY (column constraint) > - PRIMARY KEY ( column= _name [, ... ] [, column_nam= e WITHOUT OVERLAPS ] ) > - INCLUDE ( colum= n_name [, ...]) (table constraint) > + PRIMARY KEY (column constraint variant) > + PRIMARY KEY ( column= _name [, ... ] [, column_nam= e WITHOUT OVERLAPS ] ) > + INCLUDE ( column_name [, ...]) (table constraint variant) > > > The PRIMARY KEY constraint specifies that a col= umn or > > I'll forward this onto -hackers if no one decides to quickly handle it fr= om here. > > David J. > >