Re: \d is not showing global(normal) table info if we create temporary table with same name as global table

Mahendra Singh Thalor <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.general
Message-ID <CAKYtNApjxOchnoqJByLEmXQVEgvK6kQ0L2JrJHC2U+GfPEFFkg@mail.gmail.com>
On Fri, 3 Jan 2020 at 00:40, Tom Lane <[email protected]> wrote:
>
> Robert Haas <[email protected]> writes:
> > On Thu, Jan 2, 2020 at 12:59 PM Mahendra Singh <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.