Robert Haas <robertmh...@gmail.com> writes:
> On Thu, Jan 2, 2020 at 12:59 PM Mahendra Singh <mahi6...@gmail.com> wrote:
>> While reading code and doing some testing, I found that if we create a 
>> temporary table with same name as we created a normal(global) table, then \d 
>> is showing only temporary table info.

> That's because the query that \d issues to the backend includes:
>   AND pg_catalog.pg_table_is_visible(c.oid)
> So I'd say it's not a bug, because that bit of SQL didn't get included
> in the query by accident.

It's also documented:

    Whenever the pattern parameter is omitted completely, the \d commands
    display all objects that are visible in the current schema search path
    — this is equivalent to using * as the pattern. (An object is said to
    be visible if its containing schema is in the search path and no
    object of the same kind and name appears earlier in the search
    path. This is equivalent to the statement that the object can be
    referenced by name without explicit schema qualification.) To see all
    objects in the database regardless of visibility, use *.* as the
    pattern.

Perhaps that's not clear enough, but the behavior is certainly as-intended.

                        regards, tom lane


Reply via email to