2012-03-02 8 views
21

बस सी और libpq के माध्यम से linux पर PostgreSQL 9.1 सीखना शुरू किया।
अभी के लिए मैं कनेक्शन जांचता हूं, कनेक्ट करता हूं, डेटाबेस बनाता हूं, टेबल और अन्य मूलभूत सामग्री बनाता हूं। लेकिन मैंने ध्यान दिया कि तालिका बनाने के दौरान पीक्यू मेरे डेटाबेस नाम को लोअरकेस में परिवर्तित करता है। तब मैं देखता हूं कि तालिका के नाम और फ़ील्ड नामों को भी लोअरकेस के लिए मजबूर किया जाता है। हाउवर, जब मैं डेटाबेस के अपरकेस (मूल) नाम से कनेक्ट करने का प्रयास करता हूं तो मुझे चेतावनी मिलती है कि डेटाबेस से मौजूद नहीं है।PostgreSQL लोअरकेस नाम बलों?

सबसे अच्छा यह होगा कि सभी नाम लिखे गए हैं। क्या यह कुछ सरल विधि/सेटिंग के साथ प्राप्त करना संभव है?

उदाहरण के लिए:

M_122_KL0001_2011_001_0100001

m_122_kl0001_2011_001_0100001 क्या मेरे लिए नहीं चाहता है के रूप में बनाया जाएगा।
तालिका नामों और फ़ील्ड नामों के साथ ही होता है।

उत्तर

27

यह पोस्टग्रेज़ का डिफ़ॉल्ट व्यवहार है।

आप ऊपरी या मिश्रित-केस चाहते हैं, आप कर सकते हैं बोली पहचानकर्ता उदा .:

createdb "M_122_KL0001_2011_001_0100001" 
+1

हाँ! बहुत बहुत धन्यवाद। यहां 'एस्केपिंग स्ट्रिंग्स' के बहुत सारे होंगे :) –

+0

क्या "लोअरकेस" नियमों को रखना बेहतर होगा? –

+3

मेरी राय में, हाँ, यह सबकुछ कम करने के लिए जीवन को आसान बनाता है। लेकिन अगर आपके पास ऊपरी- या मिश्रित मामला तो कम से कम अब आप जानते हैं कि यह कैसे समर्थित है। – bernie

संबंधित मुद्दे