2016-04-20 13 views
13

Ho un db postgresql con un numero di tabelle. Se interrogo:Le tabelle Postgresql esistono, ma ottenere "la relazione non esiste" durante l'interrogazione

SELECT column_name 
FROM information_schema.columns 
WHERE table_name="my_table"; 

Otterrò un elenco delle colonne restituite correttamente.

Tuttavia, quando interrogo:

SELECT * 
FROM "my_table"; 

ottengo l'errore:

(ProgrammingError) relation "my_table" does not exist 
'SELECT *\n FROM "my_table"\n' {} 

Dei pensieri su questo che posso ottenere le colonne, ma non può interrogare la tabella? L'obiettivo è poter interrogare il tavolo.

+0

si può fare lo stesso con un altro tavolo? prova a crearne uno nuovo. –

+0

La query che hai mostrato non può funzionare. 'WHERE table_name =" my_table ";' non è valido perché '" my_table "' fa riferimento a un nome di colonna e non esiste tale colonna in 'information_schema.columns'. Per favore [modifica] la tua domanda e aggiungi l'istruzione ** esatta ** 'create table' che hai usato per creare la tabella. –

risposta

15

è necessario includere lo schema se isnt un pubblico uno

SELECT * 
FROM <schema>."my_table" 

Oppure si può cambiare il tuo schema predefinito

SHOW search_path; 
SET search_path TO my_schema; 

Controlla la tua schema della tabella qui

SELECT * 
FROM information_schema.columns 

enter image description here

Per esempio, se una tabella è sul schema predefinito public sia questa volontà funziona bene

SELECT * FROM parroquias_region 
SELECT * FROM public.parroquias_region 

Ma i settori hanno bisogno di specificare lo schema

SELECT * FROM map_update.sectores_point 
+2

Risposta corretta. Se non si ha familiarità con la gerarchia dello standard SQL di Cluster> Catalog> Schema> Table, consultare la Domanda, [Qual è la differenza tra un catalogo e uno schema in un database relazionale?] (Http://stackoverflow.com/q/7022755/ 642706) e [il mio diagramma] (http://i.stack.imgur.com/FqyMq.png). –

+0

Sì, è andata così, grazie mille. Ovviamente ora mi viene negato il permesso, ma almeno so dove andare. – patkil

Problemi correlati