मैंने जो पढ़ा है, उससे इस त्रुटि का अर्थ है कि आप तालिका के नाम को सही ढंग से संदर्भित नहीं कर रहे हैं। एक सामान्य कारण यह है कि तालिका को मिश्रित-केस वर्तनी के साथ परिभाषित किया गया है, और आप इसे सभी लोअर-केस से क्वेरी करने का प्रयास कर रहे हैं।
दूसरे शब्दों में, निम्नलिखित विफल रहता है:
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