इससे पहले कि मैं यह कैसे समझाऊं, मैं दृढ़ता से ऐसा करने का सुझाव नहीं देता।
PostgreSQL में, यदि टेबल या स्तंभ नाम गैर उद्धृत, की तरह हैं:
SELECT name FROM mytable WHERE id = 10
हैं:
SELECT Name FROM MyTable WHERE ID = 10
वे वास्तव में स्वचालित रूप से मामला कम करने के लिए पहले है, इसलिए ऊपर क्वेरी तह के समान है आप सभी नामों को ऊपरी मामले में परिवर्तित करना चाहते थे, यह कथन काम नहीं करेगा:
SELECT NAME FROM MYTABLE WHERE ID = 10
आप करना होगा दोहरे-उद्धरण इस क्वेरी में हर एक नाम यह काम कर रहे हैं:
SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10
हैं, तो दूसरी ओर, यदि आप मानक PostgreSQL लोअर केस केवल समझौते का उपयोग करें, आप किसी भी मामले का उपयोग कर सकते संयोजन और यह तब तक काम करेगा जब तक आप किसी भी नाम का उद्धरण नहीं देते हैं।
अब, अगर आप अभी भी अपर केस में बदलने के लिए जोर देते हैं, आपको लगता है कि एक फ़ाइल में अपने डेटाबेस स्कीमा डंपिंग द्वारा pg_dump --schema-only
उपयोग कर सकते हैं।
ऐसा करने के बाद, सभी CREATE TABLE
कथनों की जांच करें और इस डंप के आधार पर उपयुक्त ALTER TABLE
कथन बनाएं - आपको ऐसा करने के लिए कुछ स्क्रिप्ट (पर्ल या पायथन) लिखना होगा।
वैकल्पिक रूप से, आप INFORMATION_SCHEMA.TABLES और/या INFORMATION_SCHEMA.COLUMNS पढ़ सकते हैं और उचित ALTER TABLE
कथन भी बना सकते हैं और निष्पादित कर सकते हैं।
'तालिका बनाएं' में स्पष्ट रूप से डबल-कॉलिंग कॉलम नाम उद्धरण वर्ण वाले कॉलम नाम बनाता है, लेकिन यह * अभी भी * सबकुछ कम करता है। – weberc2
@ weberc2: यह बस झूठा है। SQLFiddle सबूत: http://sqlfiddle.com/#!17/de97a/1 – mvp
हाँ, ऐसा लगता है कि मेरा टेक्स्ट एडिटर स्मार्ट-कोट्स डालने वाला था। मेरी गलती। – weberc2