Van wat ik heb gelezen, betekent deze fout dat u niet correct naar de tabelnaam verwijst. Een veelvoorkomende reden is dat de tabel is gedefinieerd met een gemengde spelling, en u probeert deze met alleen kleine letters te doorzoeken.
Met andere woorden, het volgende mislukt:
CREATE TABLE "SF_Bands" ( ... );
SELECT * FROM sf_bands; -- ERROR!
Gebruik dubbele aanhalingstekens om id's af te bakenen, zodat u de specifieke spelling in hoofdletters kunt gebruiken zoals de tabel is gedefinieerd.
SELECT * FROM "SF_Bands";
Wat betreft uw opmerking, u kunt een schema toevoegen aan het "zoekpad", zodat wanneer u naar een tabelnaam verwijst zonder het schema ervan te kwalificeren, de query overeenkomt met die tabelnaam door elk schema in volgorde aan te vinken. Net als PATH
in de shell of include_path
in PHP, enz. U kunt uw huidige zoekpad voor schema's controleren:
SHOW search_path
"$user",public
U kunt het zoekpad van uw schema wijzigen:
SET search_path TO showfinder,public;
Zie ook http://www.postgresql.org/docs/8.3/static/ddl-schemas.html