Les tables Postgresql existent, mais obtenir "relation n'existe pas" lors de l'interrogation

J'ai une base de données postgresql avec un certain nombre de tables. Si je demande:

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

Je vais obtenir une liste des colonnes retournées correctement.

Cependant, quand je demande:

SELECT *
FROM "my_table";

Je reçois l'erreur:

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

Des pensées sur pourquoi je peux obtenir les colonnes, mais je ne peux pas interroger la table? Le but est de pouvoir interroger la table.

22
demandé sur patkil 2016-04-20 22:38:30

1 réponses

, Vous devez inclure le schéma si ce n'est pas un établissement public

SELECT *
FROM <schema>."my_table"

, Ou vous pouvez modifier votre schéma par défaut

SHOW search_path;
SET search_path TO my_schema;

Vérifiez votre schéma de table ici

SELECT *
FROM information_schema.columns

entrez la description de l'image ici

Par exemple, si une table est sur le schéma par défaut public les deux cela fonctionnera bien

SELECT * FROM parroquias_region
SELECT * FROM public.parroquias_region

Mais les secteurs doivent spécifier le schéma

SELECT * FROM map_update.sectores_point
25
répondu Juan Carlos Oropeza 2016-04-20 19:49:52