2013-07-10 8 views
17

Version 8.4.16 (keine Wahl in der Version).psql: keine Beziehungen gefunden trotz bestehender Beziehungen

ich log in meine db wie folgt:

psql -d JRuser 

Die resultierende Eingabeaufforderung ist:

JRuser=> 

I \ d oder \ dt tun erwarten eine Liste aller Beziehungen in Schema zu sehen ' translate '

No relations found. 

Aber ich kann aus einer der Tabellen im Schema ohne Probleme auswählen. Zum Beispiel:

select * from translate.storage; --works fine 

Ich habe dafür gesorgt, dass die Zugriffsrechte für JRuser korrekt sind, indem \ dn tun +:

        List of schemas 
     Name  | Owner | Access privileges |   Description 
translate   | JRuser | JRuser=UC/JRuser  | 
           : postgres=UC/JRuser  

Warum kann ich sehen, nicht die Tabellen in dem Schema übersetzen?

+1

Ich glaube, Sie verwenden müssen, um '\ dt Übersetzung. * ' –

+0

Ich kann das sicherlich tun, aber bis heute konnte ich nur ohne Qualifikation tun. Ich habe keine Konfigurationseinstellungen geändert, daher bin ich verwirrt. – lostinthebits

Antwort

20

\d in psql zeigt nur sichtbar Tabellen, das heißt in Ihrem search_path.

versuchen und sehen:

SHOW search_path; 
SET search_path= translate; 
\d 

Die Einstellung für die Sitzung wohl irgendwie geändert wurde. Es gibt mehrere Möglichkeiten, das zu tun:

Verwandte später Frage auf dba.SE:

+0

Kann eine Suchpfadvariable mehrere Schemas enthalten, wenn ein Benutzer Tabellen in allen Schemas anzeigen möchte? – lostinthebits

+1

@lostinthebits: siehe hier: http://www.postgresql.org/docs/8.4/static/sql-set.html#AEN65998 –

+0

Ah, cool, danke an euch beide. – lostinthebits