psql: no relations found despite existing relations

postgresql, psql, schema, sql

Solution

`\d` in psql only shows visible tables, i.e. in your `search_path`.

Try and see:

SHOW search_path;
SET search_path= translate;
\d

The setting for your session has probably been changed somehow. There are multiple ways to do that:

- How does the search_path influence identifier resolution and the "current schema"

Related later question on dba.SE:

- Why can't I see my table (PostgreSQL) when I use \dt(+) inside psql?

Problem

Version 8.4.16 (no choice in version). I log into my db as follows: ``` psql -d JRuser ``` The resulting prompt is: ``` JRuser=> ``` I do \d or \dt expecting to see a list of all the relations in schema 'translate' ``` No relations found. ``` But I can select from any of the tables in the schema without any issues. For example: ``` select * from translate.storage; --works fine ``` I have ensured that the access privileges are correct for JRuser by doing \dn+: ``` List of schemas Name | Owner | Access privileges | Description translate | JRuser | JRuser=UC/JRuser | : postgres=UC/JRuser ``` Why can't I see the tables in the translate schema?

Original source

Related problems