मुझे पोस्टग्रेएसक्यूएल 9.3 का उपयोग करके यह अजीब समस्या है जो qoutes का उपयोग करके बनाए गए टेबल के साथ है। उदाहरण के लिए, अगर मैं qoutes का उपयोग कर एक तालिका बनाने:पोस्टग्रेएसक्यूएल त्रुटि: 42 पी 01: रिलेशनशिप "[टेबल]" मौजूद नहीं है
create table "TEST" ("Col1" bigint);
तालिका ठीक से बनाई गई है और मैं देख सकता हूँ कि उद्धरण संरक्षित कर रहे हैं जब दृश्य यह pgAdminIII की एसक्यूएल फलक में। लेकिन जब मैं सभी उपलब्ध तालिकाओं (नीचे दी गई क्वेरी का उपयोग करके) की सूची खोजने के लिए डीबी से पूछता हूं, तो मुझे लगता है कि परिणाम तालिका के नाम के चारों ओर उद्धरण नहीं है।
select table_schema, table_name from information_schema.tables where not table_schema='pg_catalog' and not table_schema='information_schema';
के बाद तालिका उद्धरण के साथ बनाया गया था, मैं तालिका नाम सीधे ऊपर क्वेरी से लौटे उपयोग नहीं कर सकते, क्योंकि यह गैर उद्धृत है और शीर्षक में पोस्ट में त्रुटि फेंकता है।
मैं सभी प्रश्नों में उद्धरण के साथ तालिका नामों के आस-पास कोशिश कर सकता हूं लेकिन मुझे यकीन नहीं है कि यह हर समय काम करेगा या नहीं। मैं तालिका नामों की सूची प्राप्त करने का एक तरीका ढूंढ रहा हूं जो परिणाम में उद्धरण के साथ उद्धृत हैं।
मुझे कॉलम नामों के साथ भी एक ही समस्या है, लेकिन मुझे उम्मीद है कि अगर मुझे तालिका नाम के मुद्दे का समाधान मिल सकता है, तो एक समान समाधान कॉलम नामों के लिए भी काम करेगा।
+1। – Othya
सहमत हैं कि PostgreSQL में उद्धरणों का उपयोग नहीं करना जीवन आसान बनाता है लेकिन मेरे मामले में हमेशा संभव नहीं है क्योंकि मेरा एप्लिकेशन डेटाबेस नहीं बनाता है। यह तीसरे पक्ष PostgreSQL डेटाबेस से डेटा पढ़ने में सक्षम होना चाहिए और मैं नियंत्रित नहीं कर सकता कि दूसरों द्वारा टेबल कैसे बनाए जाते हैं। किसी भी मामले में, आश्चर्य की बात यह है कि PostgreSQL मुझे यह नहीं बताता है कि एक निश्चित तालिका उद्धरण के साथ बनाई गई थी, लेकिन जब मैं एक क्वेरी में एक अज्ञात तालिका नाम का उपयोग करता हूं, तो यह इसकी अनुमति नहीं देता है। –
यह स्वचालित रूप से जानता है कि जैसे ही एक गैर-लोअरकेस अक्षर होता है, उद्धरणों का उपयोग किया जाता था। इसलिए यदि कोई तालिका टेस्ट के रूप में सूचीबद्ध है या तो इसका पहले से ही मतलब है कि आपको केस संवेदनशील होना चाहिए। –