Re: \dt shows table but \d says the table doesn't exist ? - Mailing list pgsql-general
From Tom Lane
Subject Re: \dt shows table but \d says the table doesn't exist ?
Date
Msg-id 2746167.1714770911@sss.pgh.pa.us
Whole thread Raw
In response to Re: \dt shows table but \d says the table doesn't exist ?  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: \dt shows table but \d says the table doesn't exist ?
List pgsql-general
Adrian Klaver <adrian.klaver@aklaver.com> writes:
> On 5/3/24 14:06, Magnus Hagander wrote:
>> Looks like you might need a \d "some_idIds" (include the quotes) since
>> it has an uppercase characters?

> This:
> "Did not find any relation named "public.some_idIds"."
> to me indicates it did look for the properly cased name.

No, that message just regurgitates what you typed.  Magnus is
correct that the pattern will be case-folded if not quoted.
You can check with --echo-hidden (-E):

postgres=# \d public.some_idIds
/******** QUERY *********/
SELECT c.oid,
  n.nspname,
  c.relname
FROM pg_catalog.pg_class c
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname OPERATOR(pg_catalog.~) '^(some_idids)$' COLLATE pg_catalog.default
  AND n.nspname OPERATOR(pg_catalog.~) '^(public)$' COLLATE pg_catalog.default
ORDER BY 2, 3;
/************************/

Did not find any relation named "public.some_idIds".

So it is in fact looking for public.some_idids.

            regards, tom lane



pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: \dt shows table but \d says the table doesn't exist ?
Next
From: Tom Lane
Date:
Subject: Re: \dt shows table but \d
says the table doesn't exist ?