sql >> Base de Datos >  >> RDS >> PostgreSQL

No se puede simplemente usar el nombre de la tabla PostgreSQL (la relación no existe)

Por lo que he leído, este error significa que no está haciendo referencia al nombre de la tabla correctamente. Una razón común es que la tabla se define con una ortografía de mayúsculas y minúsculas y está intentando consultarla con minúsculas.

En otras palabras, lo siguiente falla:

CREATE TABLE "SF_Bands" ( ... );

SELECT * FROM sf_bands;  -- ERROR!

Use comillas dobles para delimitar los identificadores para que pueda usar la ortografía específica de mayúsculas y minúsculas como se define en la tabla.

SELECT * FROM "SF_Bands";

Con respecto a su comentario, puede agregar un esquema a "search_path" para que cuando haga referencia a un nombre de tabla sin calificar su esquema, la consulta coincidirá con ese nombre de tabla al verificar cada esquema en orden. Al igual que PATH en el shell o include_path en PHP, etc. Puede verificar su ruta de búsqueda de esquema actual:

SHOW search_path
  "$user",public

Puede cambiar la ruta de búsqueda de su esquema:

SET search_path TO showfinder,public;

Consulte también http://www.postgresql.org/docs/8.3/static/ddl-schemas.html