Subject: A suggestion about the usage manual of \d command

From: yuanchao zhang <[email-masked]>
Date: Fri, 27 Feb 2026 16:06:22 +0800

Hi,
I created a domain object named `numeric` using the following statement:
`CREATE DOMAIN numeric AS NUMERIC(12,2) DEFAULT 0 CHECK (VALUE >= 0);`
After executing this SQL, it indicated that the domain was created
successfully. However, when I executed `\dD` in psql, the created domain
could not be displayed.

The reason is that the name I used is the same as a built-in type (of
course, similar issues exist not only with domains). However, our manual
for the `\dD` command lacks relevant explanations, which can mislead users.
Users might think an object was successfully created, but the `\d` command
doesn't display it, which could make beginners doubt whether the object was
created successfully. I suggest adding necessary explanations to the `\d`
command's manual.

Best regards
Yuanchao Zhang

---

From: "David G. Johnston" <[email-masked]>
Date: Fri, 27 Feb 2026 07:12:39 -0700

> created successfully. I suggest adding necessary explanations to the `\d`

As explained in your bug report the documentation already covers
namespaces, types, and the pattern argument to the \d meta commands.
Covering all of that within the scope of the specific “\dD” meta command to
explain your example case is very unappealing.  I honestly don’t see this
going anywhere unless you propose specific text and location suggestions
for what such a patch should look like.  A real patch is even better, but
with solid enough ideas someone might volunteer to bundle it all into sgml
format.

David J.

---

From: yuanchao zhang <[email-masked]>
Date: Sat, 28 Feb 2026 09:02:47 +0800

Okay, no problem. I just encountered this issue and was experiencing some
inconvenience as a user. If I have more detailed thoughts, I can add them
later. Thank you for your reply anyway.

Best regards
Yuanchao Zhang

---

From: "David G. Johnston" <[email-masked]>
Date: Fri, 27 Feb 2026 18:09:30 -0700

> later. Thank you for your reply anyway.

Fair, and I do appreciate the confusion experienced.  But I also think that
the whole flow of "I named my domain numeric and didn't see it in \dD" is
more of a feature than a bug. It ultimately made you aware of the shadowing
with the other base type named numeric and the idea that maybe naming a
domain that isn't a good idea - or that in doing so you at least need to
learn the consequences.

That, and given few complaints of this nature, and the fact we cannot at
this point change the policy that \d commands limit output based on
visibility, means the easy fixes to deal with this specific complaint are
unavailable even if they seem worthwhile (of which I have my doubts).

David J.