PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Не може просто да се използва името на таблицата PostgreSQL (връзка не съществува)

От това, което прочетох, тази грешка означава, че не посочвате правилно името на таблицата. Една често срещана причина е, че таблицата е дефинирана със смесени букви и вие се опитвате да я заявите с всички малки букви.

С други думи, следното е неуспешно:

CREATE TABLE "SF_Bands" ( ... );

SELECT * FROM sf_bands;  -- ERROR!

Използвайте двойни кавички, за да разделите идентификаторите, за да можете да използвате специфичния правопис със смесени главни букви, както е дефинирана таблицата.

SELECT * FROM "SF_Bands";

Относно вашия коментар, можете да добавите схема към "search_path", така че когато препращате към име на таблица, без да квалифицирате нейната схема, заявката ще съвпада с това име на таблицата чрез отметка на всяка схема по ред. Точно като PATH в обвивката или include_path в PHP и т.н. Можете да проверите текущата си пътека за търсене по схема:

SHOW search_path
  "$user",public

Можете да промените пътя за търсене на вашата схема:

SET search_path TO showfinder,public;

Вижте също http://www.postgresql.org/docs/8.3/static/ddl-schemas.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy, Psycopg2 и Postgresql COPY

  2. Превключване/Обратно превключване в Slony-I при надграждане на основните версии на PostgreSQL 8.4.x/9.3.x

  3. Хибернация на картографиране между PostgreSQL enum и Java enum

  4. За да игнорирате дублирани ключове по време на „копиране от“ в postgresql

  5. Избройте всички последователности в Postgres db 8.1 с SQL