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 1wB63n-000jQa-2i for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 07:13: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 1wB63m-00A94p-0Z for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 07:13: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 1wB63l-00A94h-2v for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 07:13:46 +0000 Received: from mail-qv1-xf2b.google.com ([2607:f8b0:4864:20::f2b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wB63k-00000000JNc-2nZs for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 07:13:46 +0000 Received: by mail-qv1-xf2b.google.com with SMTP id 6a1803df08f44-89cc797547fso21553236d6.2 for ; Fri, 10 Apr 2026 00:13:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775805223; cv=none; d=google.com; s=arc-20240605; b=DEMxXab5Q7YKoGUvBISIKq/D5l+F0IvR+L4DLSkMlaM7TEfHaKD5QvYI6xQ/qUkJXn lD8uUofN7Hxw+KvC/shrg7bYLU16zXriHX7DVG5rv7+DwgLSpVciP+WRrd1V11KZ6dje 1Z0jtJEYZRovtIIPTIWwg8z8i2BqXsCROjQDupb9ACyIhb2MAhvDH83Wt1iLLQwb3DIh x42SbxOTx7C0MCnVZwH7zXzxKEXmdYAHJ/zS0cPCWipC7R2JvtoIwiPq2b3py8eHHsVb rqhwPn97wp4Mwx1oa1GpGCTdYFJCY6MAOYnEYhn1m27yyrfaq/VVtEqM+4qCEXLcw8R3 ApAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=cOfOZF78jEZegVZsKcDCEf+rpNxg7EmA5ZoX5+tGUHg=; fh=dxJXJbLzq9Nah1LUdsj4QTuQ3JoDScd0wp1YHY64NXM=; b=ZORLDoXVrNdp84pcaEdl8aumZX4dILDylLZzDTdbPc7WdMkwJTren0vvFu5vpiIQam Z2qKmOQ12EtWchQ0q+45atoxHiwQkUO6tSIgvy7CEjexcaCBeHSSenI9wtir9AtyMtqK eCwyvjE4WwS55id14CNmeP98DLuU8sEf0ro7UYhvc43KIKuGfPVotErqSYVJK+bFKJOL w4ZHhE5uOi9ru6mMsjP9KatozokzIqKVOiiYHYBAVfnI9WKTvU4ujpFU3WfROpQHN5Of OG0XcJNrWBhp8D47L0gehXL+suNgcD/3NN1Xx46yZ8yE16A/mPysguEX76eeUFdAGIJr +l5g==; 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=1775805223; x=1776410023; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=cOfOZF78jEZegVZsKcDCEf+rpNxg7EmA5ZoX5+tGUHg=; b=OkcHj0jZnJhV60w8Y0aktOPiO3kz8sr4sfgbf48hGHKxG/uUgFZblTl2P1XxLkGZtH r6ZHYxh0dWdb7/jsWxpf+4NtRS0Z22uYpN3ONAk/qYhejPEuURatq9r53vS7GLReoE+B yHwcNb+SWbgL6lMDe8UZVXZdwFNYLTHef726g3Q3qAyM+Nfb0BWeVUagnxw1CwYlV2x7 CdQGZbKZhxqP3BR9cWHCrzwsnV+wiubbxRHsdXkAUqFjV+woIFT+bKt4R/TCpI10FOcg mf3TwLSVbq7M5SD+U4Q5RF9GP/c7eWHqs6hBWh6zK10CUig0Oh47jJFIqOWmRpTv8uwt ZWmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775805223; x=1776410023; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=cOfOZF78jEZegVZsKcDCEf+rpNxg7EmA5ZoX5+tGUHg=; b=PTqmVpDJ6Yd3R9JR1mX7ydyXz+EfsEvlBSVFst7+xJU6j2+CrIXJTzQc9mdLoYoYHM VQBVZh5t5kF9N7XxWyivccSPxPm8mN83rCLjaw8AlCd/ICK297LsyAISIZa3hDmP8QUl XYyuTwuqZo4Dnhj7a6gojm4Eok4/YhgfzZBgS58M7U82jXS5XjlFupv8gLwjqREyY4Ez bN8iDxWzVCoogQkUSHZaP0rMMqltnKrKialCc1jRSpASEU3CG/T8pXgDpf2P9PShbo5v ZQpp1duiE2q0+2UUPrekRK4NYSCIyC7H72yHaSaD1TS4We1eAnpKZXBNrHDG3XTanIhb MFFg== X-Gm-Message-State: AOJu0YyrQ7xHeix0DgN/q9h133kFYOonowhTqWrdGpkPggvWuwOJHqD8 LNp72Jwtt2h7PqghUcTbKoVIe+MJJX+nq538/5kr9rcivw8x6fvFAXelf57lbw1zP7p1XsFZFy+ DQsZgNfm38lk2T0eTYYi0po7fkAVFNQDjvkY4 X-Gm-Gg: AeBDieuqHf0ru9Ut2mWZqVCenw8UE5LYnVhavRPWDld+wvxNkdc6b8BK02J1nb4Twa7 GViNvtpJF3rCvSCPm5v0gSYicbsz5i3+VPkhZajI4QKn2H21ZiTh2GAP3JGTbMXMSz1B9JFLt1Z M6MMIuub4C65ZBV23pETAJk6UT6F0TgH8V/bv/aggi/AVThNPovoJUG1eQPFDxQsFT45RPTEtcm ACxnU02XHnPxcae7DI0YOiR3Lk3PcHM8mJFMyqX/5OUXGcToV3ERdFb0pXWX+0r7WZYtKmJ0A15 a2nYOGsm3xjn0QCFgQ== X-Received: by 2002:ad4:5c83:0:b0:8a0:166a:4a0f with SMTP id 6a1803df08f44-8ac8623be8cmr27633756d6.48.1775805222693; Fri, 10 Apr 2026 00:13:42 -0700 (PDT) MIME-Version: 1.0 From: Peter Smith Date: Fri, 10 Apr 2026 17:13:15 +1000 X-Gm-Features: AQROBzAvWP-Hgn3v-WdorJtQkYmas6ETwYhdtKNvOJW5oK6Za9QsPez9GoeLdYY Message-ID: Subject: EXCEPT TABLE - Case inconsistency for describe \d and \dRp+ To: PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi. While experimenting with "CREATE PUBLICATION ... FOR ALL TABLES EXCEPT (TABLE...)" I noticed a small "case" inconsistency. Background: The \d and \dRp+ command were enhanced in commit fd36606 [1][2] to say what tables are excluded from what publications. e.g. # -- describe the publications # \dRp+ pub1 Publication pub1 Owner | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | Via root | Description ----------+------------+---------------+---------+---------+---------+-----------+-------------------+----------+------------- postgres | t | f | t | t | t | t | none | f | Except tables: "public.t1" "public.t2" # \dRp+ pub2 Publication pub2 Owner | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | Via root | Description ----------+------------+---------------+---------+---------+---------+-----------+-------------------+----------+------------- postgres | f | f | t | t | t | t | none | f | Tables: "public.t2" "public.t3" # -- describe the tables # \d t1 Table "public.t1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- a | integer | | | Except Publications: "pub1" # \d t2 Table "public.t2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- a | integer | | | Publications: "pub2" Except Publications: "pub1" ~~~ Notice that that the describe publication says: "Tables:" and "Except tables:" (Lowercase "tables") Notice that the describe table says: "Publications:" and "Except Publications:" (Uppercase "Publications") I think they should use a consistent case: eg1. (both lowercase) Except tables; Except publications, OR eg2. (bother uppercase) Except Tables; Except Publications ~~~ I did not yet provide a patch because I was not sure which way (uppercase/lowercase) is best, so wanted to hear some opinions about that first. (I'm expecting that some DOCS examples and/or TESTS for "describe" will also be impacted). Thoughts? ====== [1] https://github.com/postgres/postgres/commit/fd366065e06ae953c4f2d973d5c5f0474f3b87b6#diff-cdb325f8994210a4cfacc19525f11e9b368a3f78641b67105c105449df9b645cR6859 [2] https://github.com/postgres/postgres/commit/fd366065e06ae953c4f2d973d5c5f0474f3b87b6#diff-cdb325f8994210a4cfacc19525f11e9b368a3f78641b67105c105449df9b645cR3183 Kind Regards, Peter Smith. Fujitsu Australia