On Fri, 3 Jan 2020 at 00:40, Tom Lane <t...@sss.pgh.pa.us> wrote: > > 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
Thanks Robert and Tom for quick detailed response. -- Thanks and Regards Mahendra Singh Thalor EnterpriseDB: http://www.enterprisedb.com