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.94.2) (envelope-from ) id 1r7ROW-005QcL-6N for pgsql-docs@arkaria.postgresql.org; Mon, 27 Nov 2023 02:30:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1r7ROU-00A97W-Bj for pgsql-docs@arkaria.postgresql.org; Mon, 27 Nov 2023 02:30:42 +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.94.2) (envelope-from ) id 1r7ROT-00A97N-V1 for pgsql-docs@lists.postgresql.org; Mon, 27 Nov 2023 02:30:42 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1r7ROK-008iAt-1g for pgsql-docs@lists.postgresql.org; Mon, 27 Nov 2023 02:30:39 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-54a945861c6so5133157a12.3 for ; Sun, 26 Nov 2023 18:30:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20230601.gappssmtp.com; s=20230601; t=1701052230; x=1701657030; darn=lists.postgresql.org; h=mime-version:user-agent:autocrypt:references:in-reply-to:date:to :from:subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=TxZASdvB36S/5qm0+9V7Gf+/WiR4jOFqlXfjYyASHEE=; b=uWdlFYQcyzdikj7w4EmKfWin+CakpYsHXK5QIEicONWrgSPS0Um1n9GnHdEI2FVma1 0P27DSq5dK/fkFomwsaF02JlsEAyyJsws52aor9onSzolvFQ5d4iIMeHLnXF2MJnj58M djm0NW/ngIVFoFJ1U+fUcUEEDsPJCyULSf8PpZr0/BoCDym8rpwS4yi8+BqdjbGhPmQF rdS0K2NcRRDnt/NmY4CGmxseXAbqvn/1KHnohRAA7QRQw4vZEt8i0grl2tDCmBtsXV1x IBdDT3ZMz4eQ8pSNKaojjP0DTx4eQCZoS8WbdeaCvJX1DteLKtyHYPNr+4uuGNAnaG6S 89gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701052230; x=1701657030; h=mime-version:user-agent:autocrypt:references:in-reply-to:date:to :from:subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=TxZASdvB36S/5qm0+9V7Gf+/WiR4jOFqlXfjYyASHEE=; b=G2BScC4U1OAmDIO5l3e/Y/yQ/bSYhFXik1BNU+Z3ePtqv2aXI0GABJaxWpq3PHUyEH 2rbbYsyj3p+xr3muChCMPzEaFA91ZaI8tCScDrD+IZVDnqXLTpDtR4EvFlLlYFuk8UuP CXD9Sk+W1O2L6rkFjNgwtmEg9Iy2v0QrwneoiSwvPMo0dbAYHvnMnt6wcU48oVOdzGw7 ehgWU2pZWCVvXTlxooG7w9pfKSMjNT2MgsoPEa5pvnyPHCF4cfrJXSyUZi8WObiNfCeG W+Ch102Sie4cGULXiyCywKFdSqmUn/VdjfprdbjnJhJy3vNhNk5FmMRucTZcLuVyoq5G ry2Q== X-Gm-Message-State: AOJu0YwNdKuW8w37bvM0RuwJ9pr4hGtGfbW/+fFTZTRd4B2E25o8gue7 XUhXqHugB6PR0Sr9hNI7K8GC3g== X-Google-Smtp-Source: AGHT+IGS3YtxhoYHRIzAEIYMe62B6rJQLU3bd6/tqAfP27jlxB50dP8f4DQadeO1z7LKCy6I+eeP5g== X-Received: by 2002:a05:6402:5141:b0:54b:1cdc:ce23 with SMTP id n1-20020a056402514100b0054b1cdcce23mr4124256edd.31.1701052229384; Sun, 26 Nov 2023 18:30:29 -0800 (PST) Received: from localhost.localdomain ([2001:871:260:ce4b:3efa:9f:2675:fc7c]) by smtp.gmail.com with ESMTPSA id r12-20020aa7cb8c000000b0053deb97e8e6sm4659980edt.28.2023.11.26.18.30.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Nov 2023 18:30:28 -0800 (PST) Message-ID: <24f01200b651ff87311ae0f46b99eaf91fc3ec43.camel@cybertec.at> Subject: Re: create table explicitly mention that unique|primary key constraint will create an From: Laurenz Albe To: jian he , pgsql-docs@lists.postgresql.org Date: Mon, 27 Nov 2023 03:30:28 +0100 In-Reply-To: References: Autocrypt: addr=laurenz.albe@cybertec.at; prefer-encrypt=mutual; keydata=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 +AnW5l0HsQcY9ntFL/zEBOaonjdJf Content-Type: multipart/mixed; boundary="=-q3aHAUmBmGEl83hyDhFv" User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-q3aHAUmBmGEl83hyDhFv Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 2023-11-27 at 08:00 +0800, jian he wrote: > Hi. minor doc issue. > create table s1(a int, constraint s2 PRIMARY key (a)); > create table s2(a int); > ERROR: relation "s2" already exists >=20 > https://www.postgresql.org/docs/current/sql-createtable.html#SQL-CREATETA= BLE-PARMS-UNIQUE > maybe for the following 2 sentence > "Adding a unique constraint will automatically create a unique btree > index on the column or group of columns used in the constraint." > "Adding a PRIMARY KEY constraint will automatically create a unique > btree index on the column or group of columns used in the constraint." >=20 > maybe we can mention that: the unique btree index name will be the > constraint name. > also is "a unique" or "an unique"? It would be "a unique", because "unique" is pronounced "juneek", which does not start with a vowel. > I personally thought this part is obscure. True; I don't find it documented that all objects in pg_class share a namespace and that constraints are implemented by indexes of the same name. But I think that the first part is a property of schemas and had better be documented there. What do you think of the attached patch? Yours, Laurenz Albe --=-q3aHAUmBmGEl83hyDhFv Content-Disposition: attachment; filename="0001-Doc-objects-in-pg_class-share-a-namespace.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-Doc-objects-in-pg_class-share-a-namespace.patch"; charset="UTF-8" RnJvbSBkYzM4MzM5YTkzNDhhYjQ4NTU2MDBmMWJiY2Q3OWU3NzEyYzIxNzgwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVyZW56IEFsYmUgPGxhdXJlbnouYWxiZUBjeWJlcnRlYy5h dD4KRGF0ZTogTW9uLCAyNyBOb3YgMjAyMyAwMzoyNTo0MSArMDEwMApTdWJqZWN0OiBbUEFUQ0hd IERvYzogb2JqZWN0cyBpbiBwZ19jbGFzcyBzaGFyZSBhIG5hbWVzcGFjZQoKRXhwbGljaXRseSBz dGF0ZSB0aGF0IHRhYmxlcywgaW5kZXhlcywgc2VxdWVuY2VzIGFuZCBvdGhlciByZWxhdGlvbnMK c2hhcmUgYSBzaW5nbGUgbmFtZXNwYWNlLiAgQWxzbywgZG9jdW1lbnQgdGhhdCB0aGUgaW5kZXgg dGhhdAppbXBsZW1lbnRzIGEgY29uc3RyYWludCBoYXMgdGhlIHNhbWUgbmFtZSBhcyB0aGUgY29u c3RyYWludC4KLS0tCiBkb2Mvc3JjL3NnbWwvZGRsLnNnbWwgICAgICAgICAgICAgIHwgNyArKysr KystCiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sIHwgOSArKysrKy0tLS0KIDIg ZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKaW5kZXgg NDQ5MGU4MmFhNS4uNDZkZjFkZDM0NCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2RkbC5zZ21s CisrKyBiL2RvYy9zcmMvc2dtbC9kZGwuc2dtbApAQCAtMjg4NCw3ICsyODg0LDEyIEBAIFNFTEVD VCAqIEZST00gaW5mb3JtYXRpb24gV0hFUkUgZ3JvdXBfaWQgPSAyIEZPUiBVUERBVEU7CiAgIDxw YXJhPgogICAgQSBkYXRhYmFzZSBjb250YWlucyBvbmUgb3IgbW9yZSBuYW1lZCA8Zmlyc3R0ZXJt PnNjaGVtYXM8L2ZpcnN0dGVybT4sIHdoaWNoCiAgICBpbiB0dXJuIGNvbnRhaW4gdGFibGVzLiAg U2NoZW1hcyBhbHNvIGNvbnRhaW4gb3RoZXIga2luZHMgb2YgbmFtZWQKLSAgIG9iamVjdHMsIGlu Y2x1ZGluZyBkYXRhIHR5cGVzLCBmdW5jdGlvbnMsIGFuZCBvcGVyYXRvcnMuICBUaGUgc2FtZQor ICAgb2JqZWN0cywgaW5jbHVkaW5nIGRhdGEgdHlwZXMsIGZ1bmN0aW9ucywgYW5kIG9wZXJhdG9y cy4gIFdpdGhpbiBvbmUgc2NoZW1hLAorICAgdHdvIG9iamVjdHMgb2YgdGhlIHNhbWUgdHlwZSBj YW5ub3QgaGF2ZSB0aGUgc2FtZSBuYW1lLiAgVGFibGVzLCBpbmRleGVzLAorICAgc2VxdWVuY2Vz IChhbmQgYWxsIG90aGVyIG9iamVjdHMgc3RvcmVkIGluCisgICA8bGluayBsaW5rZW5kPSJjYXRh bG9nLXBnLWNsYXNzIj48c3RydWN0bmFtZT5wZ19jbGFzczwvc3RydWN0bmFtZT48L2xpbms+KQor ICAgc2hhcmUgb25lIG5hbWUgc3BhY2UsIHNvIHRoZXkgbmVlZCB0byBoYXZlIGRpZmZlcmVudCBu YW1lcyBpZiB0aGV5IGFyZSBpbgorICAgYSBzaW5nbGUgc2NoZW1hLiAgVGhlIHNhbWUKICAgIG9i amVjdCBuYW1lIGNhbiBiZSB1c2VkIGluIGRpZmZlcmVudCBzY2hlbWFzIHdpdGhvdXQgY29uZmxp Y3Q7IGZvcgogICAgZXhhbXBsZSwgYm90aCA8bGl0ZXJhbD5zY2hlbWExPC9saXRlcmFsPiBhbmQg PGxpdGVyYWw+bXlzY2hlbWE8L2xpdGVyYWw+IGNhbgogICAgY29udGFpbiB0YWJsZXMgbmFtZWQg PGxpdGVyYWw+bXl0YWJsZTwvbGl0ZXJhbD4uICBVbmxpa2UgZGF0YWJhc2VzLApkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYv Y3JlYXRlX3RhYmxlLnNnbWwKaW5kZXggZTA0YTA2OTJjNC4uZTMzNGIxNzY3MiAxMDA2NDQKLS0t IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwv cmVmL2NyZWF0ZV90YWJsZS5zZ21sCkBAIC0xMDAxLDcgKzEwMDEsOCBAQCBXSVRIICggTU9EVUxV UyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9yZXBsYWNl YWJsZT4sIFJFTQogCiAgICAgIDxwYXJhPgogICAgICAgQWRkaW5nIGEgdW5pcXVlIGNvbnN0cmFp bnQgd2lsbCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIHVuaXF1ZSBidHJlZQotICAgICAgaW5kZXgg b24gdGhlIGNvbHVtbiBvciBncm91cCBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGNvbnN0cmFpbnQu CisgICAgICBpbmRleCBvbiB0aGUgY29sdW1uIG9yIGdyb3VwIG9mIGNvbHVtbnMgdXNlZCBpbiB0 aGUgY29uc3RyYWludC4gIFRoYXQKKyAgICAgIGluZGV4IGhhcyB0aGUgc2FtZSBuYW1lIGFzIHRo ZSB1bmlxdWUgY29uc3RyYWludC4KICAgICAgPC9wYXJhPgogCiAgICAgIDxwYXJhPgpAQCAtMTA1 NCw3ICsxMDU1LDcgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAgPHBhcmE+CiAgICAg ICBBZGRpbmcgYSA8bGl0ZXJhbD5QUklNQVJZIEtFWTwvbGl0ZXJhbD4gY29uc3RyYWludCB3aWxs IGF1dG9tYXRpY2FsbHkKICAgICAgIGNyZWF0ZSBhIHVuaXF1ZSBidHJlZSBpbmRleCBvbiB0aGUg Y29sdW1uIG9yIGdyb3VwIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUKLSAgICAgIGNvbnN0cmFpbnQu CisgICAgICBjb25zdHJhaW50LiAgVGhhdCBpbmRleCBoYXMgdGhlIHNhbWUgbmFtZSBhcyB0aGUg cHJpbWFyeSBrZXkgY29uc3RyYWludC4KICAgICAgPC9wYXJhPgogCiAgICAgIDxwYXJhPgpAQCAt MTA5MSw4ICsxMDkyLDggQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KIAogICAgICA8cGFyYT4K ICAgICAgIEV4Y2x1c2lvbiBjb25zdHJhaW50cyBhcmUgaW1wbGVtZW50ZWQgdXNpbmcKLSAgICAg IGFuIGluZGV4LCBzbyBlYWNoIHNwZWNpZmllZCBvcGVyYXRvciBtdXN0IGJlIGFzc29jaWF0ZWQg d2l0aCBhbgotICAgICAgYXBwcm9wcmlhdGUgb3BlcmF0b3IgY2xhc3MKKyAgICAgIGFuIGluZGV4 IHRoYXQgaGFzIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGNvbnN0cmFpbnQsIHNvIGVhY2ggc3BlY2lm aWVkCisgICAgICBvcGVyYXRvciBtdXN0IGJlIGFzc29jaWF0ZWQgd2l0aCBhbiBhcHByb3ByaWF0 ZSBvcGVyYXRvciBjbGFzcwogICAgICAgKHNlZSA8eHJlZiBsaW5rZW5kPSJpbmRleGVzLW9wY2xh c3MiLz4pIGZvciB0aGUgaW5kZXggYWNjZXNzCiAgICAgICBtZXRob2QgPHJlcGxhY2VhYmxlPmlu ZGV4X21ldGhvZDwvcmVwbGFjZWFibGU+LgogICAgICAgVGhlIG9wZXJhdG9ycyBhcmUgcmVxdWly ZWQgdG8gYmUgY29tbXV0YXRpdmUuCi0tIAoyLjQzLjAKCg== --=-q3aHAUmBmGEl83hyDhFv--