गोलांग को पोस्टग्रेज करें

Golanga Ko Postagreja Karem



अक्सर गोलांग के रूप में जाना जाता है, गो एक प्रोग्रामिंग भाषा है जो ओपन-सोर्स, संकलित और स्थिर रूप से टाइप की गई है जो Google द्वारा बनाई गई है। इसे समझने में आसान, तेज़, स्पष्ट और उच्च प्रदर्शन करने वाला बनाया गया है।

PostgreSQL, जिसे अक्सर Postgres के रूप में जाना जाता है, एक शक्तिशाली, ओपन-सोर्स ऑब्जेक्ट-रिलेशनल डेटाबेस सिस्टम है। 30 से अधिक वर्षों के सक्रिय विकास के साथ, इसने अपनी मजबूती, उन्नत सुविधाओं और पर्याप्त मानकों के अनुपालन के लिए एक मजबूत प्रतिष्ठा प्राप्त की है।

इसे एकल मशीनों से लेकर डेटा वेयरहाउस या कई समवर्ती उपयोगकर्ताओं वाली वेब सेवाओं तक व्यापक कार्यभार को संभालने के लिए डिज़ाइन किया गया है। यह लेनदेन संबंधी अखंडता और स्थायित्व प्रदान करता है और विभिन्न उन्नत डेटा प्रकारों और शक्तिशाली, लचीली डेटा हेरफेर भाषा का समर्थन करता है।







यह ट्यूटोरियल हमें सिखाता है कि पोस्टग्रेएसक्यूएल सर्वर को गो एप्लिकेशन के साथ कैसे कॉन्फ़िगर और कनेक्ट किया जाए।



आवश्यकताएं:

जाओ प्रोग्रामिंग भाषा - यह सुनिश्चित करता है कि गो कंपाइलर आपकी मशीन पर स्थापित है।



पोस्टग्रेएसक्यूएल डेटाबेस – आपको PostgreSQL भी इंस्टॉल करना होगा. आप इसे सीधे अपनी मशीन पर इंस्टॉल कर सकते हैं या अधिक सरल सेटअप के लिए डॉकर कंटेनर का उपयोग कर सकते हैं।





विकास उपकरण - एक एकीकृत विकास पर्यावरण (आईडीई) जो विज़ुअल स्टूडियो कोड, गोलैंड इत्यादि जैसे गो का समर्थन करता है।

एसक्यूएल और गो का बुनियादी ज्ञान - PostgreSQL डेटाबेस के साथ इंटरैक्ट करने के लिए, आपको SQL और उन विभिन्न प्रश्नों को समझना होगा जिन्हें आपको पूरा करने की आवश्यकता है। आपको गो भाषा की बुनियादी समझ की भी आवश्यकता है।



दी गई आवश्यकताओं को पूरा करने के बाद, हम निम्नलिखित चरणों पर आगे बढ़ सकते हैं।

प्रोजेक्ट सेटअप

आइए अपनी परियोजना निर्देशिका संरचना स्थापित करके शुरुआत करें। मुख्य निर्देशिका बनाएं जहां आपको प्रोजेक्ट स्रोत कोड संग्रहीत करने की आवश्यकता है।

$ mkdir गोलांग_पोस्टग्रेज

निर्देशिका में नेविगेट करें और एक नया गो मॉड्यूल प्रारंभ करें।

$ सीडी गोलांग_पोस्टग्रेज && गो मॉड इनिट मेन

आवश्यक ड्राइवर स्थापित करें

PostgreSQL डेटाबेस के साथ इंटरैक्ट करने के लिए, हमें Go प्रोग्रामिंग भाषा के लिए PostgreSQL ड्राइवर की आवश्यकता है।

इस ट्यूटोरियल के लिए, हम pq ड्राइवर का उपयोग करते हैं जो PostgreSQL डेटाबेस के साथ काम करने के लिए सुविधाओं की एक विस्तृत श्रृंखला प्रदान करता है।

आप निम्न आदेश चलाकर इसे स्थापित कर सकते हैं:

जाओ github.com प्राप्त करें / उदारीकरण / पी क्यू

एक डेटाबेस बनाएं

अगला कदम एक नया PostgreSQL डेटाबेस बनाना है। फिर, हम इसे PostgreSQL शेल में कर सकते हैं।

$ psql -में postgres

यह कमांड आपको पोस्टग्रेज़ के पासवर्ड के लिए संकेत देता है। एक बार लॉग इन करने के बाद, नया डेटाबेस आरंभ करने के लिए 'डेटाबेस बनाएं' कमांड चलाएँ:

पोस्टग्रेज=# डेटाबेस बनाएं गोलांग;
डेटाबेस बनाएं

दिया गया कमांड 'गोलंग' नामक एक नया डेटाबेस बनाता है। बेझिझक डेटाबेस नाम को अपने इच्छित नाम से बदलें।

फिर आप यह सत्यापित कर सकते हैं कि डेटाबेस इससे कनेक्ट करके सफलतापूर्वक बनाया गया है।

पोस्टग्रेज=# \c गोलांग;
अब आप डेटाबेस 'गोलांग' से उपयोगकर्ता 'पोस्टग्रेज' के रूप में जुड़े हुए हैं।

इसके बाद, वह तालिका सेट करें जहां आप डेटा संग्रहीत करना चाहते हैं। हम इस ट्यूटोरियल के लिए एक सरल तालिका बनाते हैं जो सत्र की जानकारी संग्रहीत करती है।

तालिका बनाएं db_clients (
आईडी सीरियल प्राथमिक कुंजी,
नाम वर्चर(100) शून्य नहीं,
सत्र_समय टाइमस्टैम्प शून्य नहीं,
number_of_queries INT डिफ़ॉल्ट 0,
सक्रिय_स्टेट बूलियन डिफ़ॉल्ट ग़लत
);

दी गई क्वेरी को 'db_clients' नामक एक नई तालिका बनानी चाहिए जो किसी दिए गए डेटाबेस सर्वर में लॉग इन किए गए क्लाइंट के बारे में जानकारी संग्रहीत करती है।

Go ऐप को PostgreSQL से कनेक्ट करें

एक बार जब हम डेटाबेस और डेटाबेस तालिका सेटअप कर लेते हैं, तो हम आगे बढ़ सकते हैं और सीख सकते हैं कि अपने गो एप्लिकेशन को PostgreSQL सर्वर से कैसे जोड़ा जाए।

अपने प्रोजेक्ट के मूल में एक 'main.go' फ़ाइल बनाकर प्रारंभ करें:

$ छूना मुख्य.जाओ

इसके बाद, अपनी पसंद के टेक्स्ट एडिटर के साथ फ़ाइल को संपादित करें:

$ क्योंकि मुख्य.जाओ

'Main.go' फ़ाइल में, स्रोत कोड जोड़ें जैसा कि निम्नलिखित में दिखाया गया है:

पैकेज मुख्य

आयात (
'डेटाबेस/एसक्यूएल'
'एफएमटी'
'लकड़ी का लट्ठा'

_ 'github.com/lib/pq'
)

मुख्य कार्य ( ) {
कॉनस्ट्र := 'postgres://postgres:password@localhost/golang?sslmode=disable'
डीबी, त्रुटि := एसक्यूएल.ओपन ( 'पोस्टग्रेज' , कॉनस्ट्र )
अगर ग़लती होना ! = शून्य {
लॉग.घातक ( ग़लती होना )
}

अगर त्रुटि = डीबी.पिंग ( ) ; ग़लती होना ! = शून्य {
लॉग.घातक ( ग़लती होना )
}

fmt.Println ( 'डेटाबेस से जुड़ा' )
}

पिछले कोड में, हम आवश्यक मॉड्यूल आयात करके प्रारंभ करते हैं। फिर हम मुख्य कार्य को परिभाषित करते हैं। अंत में, मुख्य फ़ंक्शन में, हम कनेक्शन स्ट्रिंग को परिभाषित करते हैं जो हमें लक्ष्य होस्ट, डेटाबेस उपयोगकर्ता, डेटाबेस पासवर्ड और वास्तविक लक्ष्य डेटाबेस निर्दिष्ट करने की अनुमति देता है।

मॉड्यूल कनेक्शन स्ट्रिंग में निम्नलिखित मापदंडों का समर्थन करता है:

  • dbname - कनेक्ट करने के लिए डेटाबेस का नाम।
  • उपयोगकर्ता - उपयोगकर्ता के रूप में साइन इन करना है।
  • पासवर्ड - उपयोगकर्ता का पासवर्ड.
  • होस्ट - कनेक्ट करने के लिए होस्ट। '/' से शुरू होने वाले मान यूनिक्स डोमेन सॉकेट के लिए हैं (डिफ़ॉल्ट लोकलहोस्ट है)।
  • पोर्ट - जिस पोर्ट से जुड़ना है (डिफ़ॉल्ट 5432 है)।
  • एसएसएलमोड - एसएसएल का उपयोग करना है या नहीं (डिफ़ॉल्ट की आवश्यकता है; यह libpq के लिए डिफ़ॉल्ट नहीं है)।
  • फ़ॉलबैक_एप्लिकेशन_नाम - यदि कोई एप्लिकेशन_नाम प्रदान नहीं किया गया है तो उस पर वापस विचार किया जा सकता है।
  • कनेक्ट_टाइमआउट - सेकंड में कनेक्शन के लिए अधिकतम प्रतीक्षा। शून्य या निर्दिष्ट नहीं का अर्थ अनिश्चित काल तक प्रतीक्षा करना है।
  • sslcert - प्रमाणित फ़ाइल स्थान। फ़ाइल में PEM-एन्कोडेड डेटा होना चाहिए।
  • एसएसएलकी - कुंजी फ़ाइल स्थान। फ़ाइल में PEM-एन्कोडेड डेटा होना चाहिए।
  • sslrootcert - रूट प्रमाणपत्र फ़ाइल का स्थान। फ़ाइल में PEM-एन्कोडेड डेटा होना चाहिए।

आप आवश्यकतानुसार अपने लक्ष्य कनेक्शन गुणों को कॉन्फ़िगर कर सकते हैं। एसएसएल और स्वीकृत एसएसएलमोड मापदंडों को कॉन्फ़िगर करने के लिए, हमारे ट्यूटोरियल की जांच करें https://linuxhint.com/postgres-sslmode .

एक बार कनेक्शन गुणों से संतुष्ट होने पर, आप यह जांचने के लिए पिछला कोड चला सकते हैं कि कनेक्शन स्थापित है या नहीं।

जाओ भागो .\main.go

कनेक्ट होने पर, आपको निम्नलिखित आउटपुट मिलना चाहिए:

डेटाबेस से जुड़ा हुआ है

PostgreSQL तालिका में डेटा डालें

अगला चरण नमूना डेटा को उस तालिका में सम्मिलित करना है जिसे हमने पहले बनाया था। हम सम्मिलित क्वेरीज़ को एक स्ट्रिंग शाब्दिक के रूप में परिभाषित करके ऐसा कर सकते हैं और फिर लक्ष्य क्वेरी को चलाने के लिए db.Exec() फ़ंक्शन का उपयोग कर सकते हैं।

कोड इस प्रकार है:

---
InsertStatement := `db_clients में सम्मिलित करें (नाम, सत्र_समय, संख्या_of_queries, सक्रिय_राज्य)
मान
('पीएसक्यूएल', '2023-05-26 10:15:00', 10, सत्य),
('डेटाग्रिप', '2023-05-26 09:30:00', 5, सत्य),
('डीबीवर', '2023-05-26 11:00:00', 20, सत्य),
('कार्यक्षेत्र', '2023-05-26 14:45:00', 15, गलत),
('दूरस्थ', '2023-05-26 13:20:00', 8, सत्य);`

_, त्रुटि = db.Exec(insertStatement)
यदि त्रुटि !=शून्य {
लॉग.घातक(त्रुटि)
}

यदि आप पिछला कोड चलाते हैं, तो उसे निर्दिष्ट रिकॉर्ड को लक्ष्य तालिका में सम्मिलित करना चाहिए।

PostgreSQL क्वेरी डेटा

तालिका से पंक्तियों को क्वेरी करने के लिए, हम चयन कथन को एक स्ट्रिंग के रूप में परिभाषित कर सकते हैं और इसे चलाने के लिए db.Query() का उपयोग कर सकते हैं। हम Next() फ़ंक्शन का उपयोग करके तालिका पंक्तियों पर पुनरावृति कर सकते हैं और उन्हें निम्नलिखित में दिखाए अनुसार प्रिंट कर सकते हैं:

पंक्तियाँ, त्रुटि := db.Query ( 'db_clients से चुनें' )
अगर ग़लती होना ! = शून्य {
लॉग.घातक ( ग़लती होना )
}
पंक्तियों को स्थगित करें। बंद करें ( )

के लिए पंक्तियाँ.अगला ( ) {
था पहचान int यहाँ
var नाम स्ट्रिंग
var sessionTime time.Time
var numberOfQuries int
वर एक्टिवस्टेट बूल

त्रुटि := पंक्तियाँ। स्कैन करें ( & पहचान , & नाम, & सत्र का समय, & प्रश्नों की संख्या, & सक्रिय राज्य )
अगर ग़लती होना ! = शून्य {
लॉग.घातक ( ग़लती होना )
}

एफएमटी.प्रिंटफ ( 'आईडी: %d, नाम: %s, सत्र समय: %s, प्रश्नों की संख्या: %d, सक्रिय स्थिति: %t \एन ' , पहचान , नाम, सत्र समय, संख्याऑफक्वेरीज़, सक्रिय राज्य )
}

अगर त्रुटि = पंक्तियाँ।त्रुटि ( ) ; ग़लती होना ! = शून्य {
लॉग.घातक ( ग़लती होना )
}

एक बार जब हम पिछला कोड चलाते हैं, तो इसे db_clients तालिका से सभी पंक्तियों को प्रिंट करना चाहिए जैसा कि निम्नलिखित उदाहरण आउटपुट में दिखाया गया है:

ये लो!

निष्कर्ष

हमने पता लगाया कि हम गोलांग का उपयोग करके PostgreSQL डेटाबेस को कनेक्ट करने और क्वेरी करने के लिए pq पैकेज का उपयोग कैसे कर सकते हैं।