2013-07-10 15 views
17

Versione 8.4.16 (nessuna scelta nella versione).psql: nessuna relazione trovata nonostante i rapporti esistenti

accedo al mio db come segue:

psql -d JRuser 

Il prompt risultante è:

JRuser=> 

faccio \ d o \ dt aspettandosi di vedere un elenco di tutte le relazioni di schema ' translate '

No relations found. 

Ma posso selezionare da qualsiasi tabella nello schema senza problemi. Per esempio:

select * from translate.storage; --works fine 

ho assicurato che i privilegi di accesso siano corretti per JRuser facendo \ dn +:

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

Perché non riesco a vedere le tabelle nello schema tradurre?

+1

Penso che avete bisogno di usare '\ dt traduzione. * ' –

+0

Posso certamente farlo ma fino ad oggi sono stato in grado di fare solo \ d o \ d senza alcun qualificatore. Non ho modificato nessuna configurazione, quindi sono perplesso. – lostinthebits

risposta

20

\d in psql mostra solo visibili tavole, vale a dire nel vostro search_path.

provare e vedere:

SHOW search_path; 
SET search_path= translate; 
\d 

L'impostazione per la sessione è stata probabilmente cambiato in qualche modo. Ci sono diversi modi per farlo:

questione connessa in seguito dba.SE:

+0

Una variabile search_path può contenere più schemi se un utente vuole essere in grado di mostrare tabelle su tutti gli schemi? – lostinthebits

+1

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

+0

Ah, fantastico, grazie a tutti e due. – lostinthebits

Problemi correlati