PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

OmniDB के साथ PostgreSQL 12 के प्रदर्शन की निगरानी कैसे करें - भाग 1

OmniDB एक ओपन-सोर्स, ग्राफिकल डेटाबेस मैनेजमेंट टूल है, जिसे 2ndQuadrant द्वारा विकसित किया गया है, जो PostgreSQL प्रौद्योगिकियों और सेवाओं में एक विश्व-नेता है। OmniDB एक ब्राउज़र-आधारित, सार्वभौमिक क्लाइंट टूल है जो PostgreSQL, MariaDB, MySQL और Oracle जैसे प्रमुख डेटाबेस इंजनों का प्रबंधन कर सकता है। जल्द ही समर्थित होने वाले अन्य इंजनों में SQLite, Firebird, MS SQL Server और IBM DB2 शामिल हैं।

किसी भी उत्कृष्ट डेटाबेस क्लाइंट सॉफ़्टवेयर की तरह, OmniDB भी कुछ बेहतरीन सुविधाओं के साथ उपयोगकर्ताओं को सशक्त बनाता है। इनमें डेटाबेस प्रदर्शन निगरानी डैशबोर्ड बनाने और अनुकूलित करने की क्षमता शामिल है। इस दो-भाग वाली लेख श्रृंखला में, हम सीखेंगे कि PostgreSQL 12 प्रतिकृति क्लस्टर के लिए प्रदर्शन स्वास्थ्य जाँच डैशबोर्ड बनाने के लिए OmniDB की अंतर्निहित निगरानी इकाइयों का उपयोग कैसे करें - जिसे आमतौर पर डैशबोर्ड शब्दों में "विजेट" के रूप में जाना जाता है।

परीक्षण वातावरण

हमारा परीक्षण वातावरण एक दो-नोड पोस्टग्रेएसक्यूएल 12 क्लस्टर है, जो यूएस-ईस्ट-1 क्षेत्र में एडब्ल्यूएस वीपीसी में चल रहा है। वीपीसी तीन उपलब्धता क्षेत्रों में फैला है और इसमें तीन सबनेट हैं। प्रत्येक सबनेट एक अलग उपलब्धता क्षेत्र (AZ) में है। प्राथमिक और स्टैंडबाय नोड इनमें से दो सबनेट में स्थित हैं। नोड्स दोनों t2.large EC2 इंस्टेंस प्रकार हैं और ओपन-सोर्स PostgreSQL 12 चलाएंगे। प्राथमिक नोड स्टैंडबाय नोड को दोहराएगा।

2ndQuadrant के OmniDB डेटाबेस प्रबंधन टूल के नवीनतम संस्करण को चलाने वाला एक "मॉनिटरिंग नोड" भी होगा। यह नोड PostgreSQL क्लस्टर का हिस्सा नहीं होगा, लेकिन VPC के तीसरे सबनेट में, दूसरे AZ में होस्ट किया जाएगा। OmniDB मास्टर और स्टैंडबाय नोड दोनों से जुड़ने और उनके प्रदर्शन की जांच करने में सक्षम होगा। OmniDB नोड एक t2.medium EC2 उदाहरण होगा।

सभी तीन नोड Red Hat Enterprise Linux (RHEL) 8 चला रहे होंगे। नीचे दिया गया चित्र सरलीकृत आर्किटेक्चर को दर्शाता है:

परीक्षण परिदृश्य

एक बार हमारे पास क्लस्टर और OmniDB सेट हो जाने के बाद, हम दोनों PostgreSQL नोड्स को OmniDB में पंजीकृत करेंगे। फिर हम ओमनीडीबी में कुछ मानक निगरानी इकाइयों से परिचित होंगे, और दोनों क्लस्टर नोड्स से प्रदर्शन मेट्रिक्स देखेंगे। फिर हम pgbench का उपयोग करके प्राथमिक नोड में लोड परीक्षण चलाएंगे। आदर्श रूप से, लोड परीक्षण एक अलग मशीन से शुरू किया जाना चाहिए, लेकिन इस मामले में, हम इसे स्थानीय रूप से चलाएंगे। फिर हम देखेंगे कि ओमनीडीबी का मॉनिटरिंग डैशबोर्ड विभिन्न प्रदर्शन काउंटरों में लोड परिवर्तन के रूप में परिवर्तन कैसे दिखाता है।

पर्यावरण की स्थापना

चरण 1:PostgreSQL 12 प्रतिकृति क्लस्टर स्थापित करना

दो-नोड PostgreSQL क्लस्टर बनाने के लिए, हम पहले प्रकाशित 2ndQuadrant ब्लॉग में वर्णित चरणों का पालन कर रहे हैं। पाठक इस लेख को यह देखने के लिए देख सकते हैं कि हमने दूसरे दूसरे क्वाड्रंट उत्पाद का उपयोग करके गवाह नोड के साथ तीन-नोड क्लस्टर कैसे स्थापित किया है, जिसे repmgr कहा जाता है। . हमारे वर्तमान सेटअप के लिए, हम तीन-नोड वाले के बजाय दो-नोड क्लस्टर बनाने के लिए repmgr का उपयोग करके समान चरणों का पालन कर रहे हैं। साथ ही, प्रतिकृति क्लस्टर में कोई विटनेस नोड नहीं होगा। चीजों को सरल रखने के लिए, यह आलेख विस्तृत इंस्टॉलेशन और कॉन्फ़िगरेशन चरण नहीं दिखा रहा है।

एक बार हमारा क्लस्टर सेट हो जाने के बाद, हम प्राथमिक नोड से pg_stat_replication दृश्य को क्वेरी करके इसकी कार्यप्रणाली की पुष्टि कर सकते हैं:

चुनें    उपयोगनाम, client_addr, application_name, State, send_lsn, write_lsn,replay_lsnFROM     pg_stat_replication;

चरण 2:एक OmniDB सर्वर को स्थापित और कॉन्फ़िगर करना

OmniDB को एक URL का उपयोग करके एक्सेस किया जाता है, जिसका अर्थ है कि दृश्य के पीछे, यह स्वयं का एक वेब सर्वर चलाता है। OmniDB के दो फ्लेवर हैं:

  • OmniDB एप्लिकेशन :यह आमतौर पर वर्कस्टेशन से चलाया जाता है और सामान्य डेस्कटॉप एप्लिकेशन की तरह व्यवहार करता है। OmniDB वेबसर्वर को एक यादृच्छिक पोर्ट पर चलाता है, और कोई अतिरिक्त सेटअप आवश्यक नहीं है।
  • OmniDB सर्वर :यह एक बहु-उपयोगकर्ता मोड के लिए नेटवर्क सर्वर पर OmniDB स्थापित करने के लिए है। सर्वर मोड में, हम यूआरएल तक पहुंचने के लिए पोर्ट नंबर, यूआरएल के एसएसएल एन्क्रिप्शन, लोड बैलेंसिंग और रिवर्स प्रॉक्सी, एसएसएच पासथ्रू डेटाबेस नोड्स तक पहुंच, और एक्सेस के लिए उपयोगकर्ता खाते बनाने के लिए पोर्ट नंबर निर्दिष्ट कर सकते हैं।

हमारे परीक्षण परिदृश्य के लिए, हम OmniDB EC2 नोड में एक OmniDB सर्वर स्थापित करेंगे। सबसे पहले, हम OmniDB साइट से नवीनतम पैकेज डाउनलोड कर रहे हैं:

# wget https://www.omnidb.org/dist/2.17.0/omnidb-server_2.17.0-centos7-amd64.rpm

अगला, हम स्थापना शुरू करते हैं। यहां, हम ओमनीडीबी को रूट उपयोगकर्ता के रूप में स्थापित कर रहे हैं, लेकिन आप किसी अन्य उपयोगकर्ता का उपयोग तब तक कर सकते हैं जब तक उसके पास सही अधिकार हों:

# rpm -ivh omnidb-server_2.17.0-centos7-amd64.rpmसत्यापन...                        ######################### #### [100%]तैयारी...                        ############################# [100%]अपडेट किया जा रहा है / स्थापित करना...   1:omnidb-server-2.17.0-0           ############################# [ 100%]

एक बार पैकेज स्थापित हो जाने के बाद, हम कमांड प्रॉम्प्ट से ओमनीडीबी शुरू कर सकते हैं:

# omnidb-server

यह दिखाता है कि सर्वर शुरू हो रहा है:

OmniDB वेबसॉकेट प्रारंभ कर रहा है...पोर्ट उपलब्धता की जाँच कर रहा है...पोर्ट 25482 पर वेबसॉकेट सर्वर प्रारंभ कर रहा है .OmniDB सर्वर प्रारंभ कर रहा है... पोर्ट उपलब्धता की जाँच कर रहा है...सर्वर OmniDB 2.17.0 को 127.0.0.1:8000 पर प्रारंभ कर रहा है .उपयोगकर्ता डेटाबेस का संस्करण 0.0.0 से संस्करण 2.17.0 में माइग्रेशन प्रारंभ करना...OmniDB ने सफलतापूर्वक उपयोगकर्ता डेटाबेस को संस्करण 0.0.0 से संस्करण 2.17.0 में माइग्रेट किया अपने पसंदीदा ब्राउज़र में OmniDB खोलें बाहर निकलने के लिए Ctrl+C दबाएं

हम देख सकते हैं कि OmniDB ने 8000 का एक डिफ़ॉल्ट वेबसर्वर पोर्ट और पोर्ट 25482 पर एक डिफ़ॉल्ट वेबसॉकेट सर्वर चुना है।

हम सर्वर प्रक्रिया को रोकने के लिए Ctrl+C दबाते हैं और रूट उपयोगकर्ता की होम निर्देशिका में ब्राउज़ करते हैं। हम देख सकते हैं कि .omnidb . नाम का एक हिडन फोल्डर है . इस फ़ोल्डर के नीचे omnidb-server called नामक एक उपनिर्देशिका है . Omnidb-server उपनिर्देशिका के अंदर, कुछ फ़ाइलें हैं:

# ls -la ~drwxr-xr-x। 3 रूट रूट       27 जून 13 02:49 .omnidb ……# ls -la ~/.omnidbdrwxr-xr-x। 2 रूट रूट 106 जून 13 02:49 omnidb-सर्वर # ls -la ~/.omnidb/omnidb-server/ …-आरडब्ल्यू-आर--आर--। 1 रूट रूट 131072 जून 13 02:49 db.sqlite3-rw-r--r--। 1 मूल जड़   1209 जून 13 02:49 omnidb.conf -rw-r--r--. 1 रूट रूट 116736 जून 13 02:49 omnidb.db -आरडब्ल्यू-आर--आर--। 1 रूट रूट      0 जून 13 02:49 omnidb.db.bak_2.17.0-rw-r--r--। 1 मूल जड़    579 जून 13 02:49 omnidb.log

सर्वर प्रक्रिया शुरू होने के बाद, ओमनीडीबी इन फाइलों को इनिशियलाइज़ करता है। OmniDB मेटाडेटा डेटाबेस को omnidb.db . कहा जाता है . यह एक SQLite डेटाबेस है और इसमें डेटाबेस कनेक्शन, OmniDB उपयोगकर्ता आदि के बारे में जानकारी शामिल है। omnidb.conf फ़ाइल में OmniDB सर्वर के लिए कॉन्फ़िगरेशन विकल्प हैं। अगर हम इस फ़ाइल को किसी संपादक में खोलते हैं, तो यह निम्न जैसा दिखता है:

# OmniDB सर्वर कॉन्फ़िगरेशन फ़ाइल[वेबसर्वर]# वेबसर्वर किस पते को सुनता है, 0.0.0.0 मशीन से जुड़े सभी पतों को सुनता हैसुनने का पता    =127.0.0.1 # वेबसर्वर पोर्ट, यदि पोर्ट उपयोग में है तो दूसरे रैंडम पोर्ट का चयन किया जाएगाlisting_port       =8000 # वेबसोकेट पोर्ट, यदि पोर्ट उपयोग में है तो दूसरा रैंडम पोर्ट चुना जाएगाwebsocket_port       =25482 # बाहरी वेबसोकेट पोर्ट, इस पैरामीटर का उपयोग करें यदि ओमनीडीबी क्लाइंट द्वारा सीधे दिखाई नहीं दे रहा है# बाहरी_वेबसोकेट_पोर्ट =25482# सुरक्षा पैरामीटर# is_ssl =True के लिए ssl_certificate_file और ssl_key_file पैरामीटर की आवश्यकता है# यह जानकारी की सुरक्षा के लिए अत्यधिक अनुशंसित हैis_ssl              बी> ssl_certificate_file =/path/to/cert_file ssl_key_file         =/path/to/key_file # विश्वसनीय मूल, इस पैरामीटर का उपयोग करें यदि ओमनीडीबी एसएसएल के साथ कॉन्फ़िगर किया गया है और किसी अन्य डोमेन द्वारा एक्सेस किया जा रहा हैcsrf_trusted_origins =Origin1,origin2,origin3# OmniDB तक पहुंचने के लिए यूआरएल पथ, डिफ़ॉल्ट खाली हैपथ = [क्वेरीसर्वर]# प्रत्येक उन्नत ऑब्जेक्ट खोज अनुरोध द्वारा उपयोग किए जा सकने वाले थ्रेड्स की अधिकतम संख्याthread_pool_max_workers =2 # प्रत्येक शीघ्र पासवर्ड अनुरोध के बीच सेकंड की संख्या। डिफ़ॉल्ट:30 मिनटpwd_timeout_total =1800 

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

कॉन्फ़िगरेशन फ़ाइल से, हम देख सकते हैं कि डिफ़ॉल्ट रूप से OmniDB सर्वर वेबसर्वर पोर्ट 8000 पर स्थानीय ट्रैफ़िक (127.0.0.1) स्वीकार करता है। हम इसे सभी IP पतों में बदल देंगे। जब तक मशीन रिवर्स प्रॉक्सी के पीछे न हो, सर्वर से HTTP कनेक्शन के लिए एसएसएल एन्क्रिप्शन का उपयोग करने की अत्यधिक अनुशंसा की जाती है। हालांकि हमारे उदाहरण में, हम is_ssl . छोड़ देंगे "गलत" के लिए पैरामीटर क्योंकि हमारे परीक्षण हो जाने के बाद हम इस मशीन को फाड़ देंगे। हम वेबसर्वर पोर्ट को भी 8080 में बदल देंगे, और वेबसॉकेट सर्वर पोर्ट को उसके डिफ़ॉल्ट मान 25482 पर रखेंगे।

एक बार बदलाव करने के बाद, कॉन्फिग फाइल इस तरह दिखनी चाहिए:

 [वेबसर्वर] श्रवण =0.0.0.0Listening_port =8080websocket_port =25482is_ssl =falsessl_certificate_file =/path/to/cert_filessl_ke_file => 

किए गए और सहेजे गए परिवर्तनों के साथ, हम omnidb-config-server . नामक एक अन्य एप्लिकेशन चलाते हैं . इस टूल का उपयोग कुछ अतिरिक्त कॉन्फ़िगरेशन करने के लिए किया जा सकता है जैसे:

  • SQLite डेटाबेस OmniDB डेटाबेस को खाली करना
  • पुराने डेटाबेस को रीसेट करें और एक नया डेटाबेस बनाएं
  • अस्थायी फ़ाइलें हटाएं
  • डेटाबेस और कॉन्फिग फाइल के लिए एक नई होम डायरेक्टरी बनाएं
  • OmniDB में लॉग इन करने के लिए एक सुपरयूज़र बनाएं

यद्यपि हम डिफ़ॉल्ट रूप से बनाए गए व्यवस्थापक उपयोगकर्ता खाते का उपयोग करके ओमनीडीबी में लॉग इन करेंगे, हम यहां एक और सुपरयुसर बनाएंगे। यह उपयोगी हो सकता है अगर हम ओमनीडीबी में अलग-अलग डीबीए खाते बनाना चाहते हैं। नीचे दिया गया स्निपेट इसे दिखाता है:

# omnidb-config-server --createsuperuser=dba [email protected]$$w0rd123सुपरयूजर बनाना...सुपरयूजर बनाया गया।

सुपरयूज़र बनाए जाने के साथ, हम फिर से सर्व-सर्वर प्रक्रिया शुरू करते हैं:

# omnidb-serverOmniDB वेबसॉकेट शुरू कर रहा है...पोर्ट उपलब्धता की जाँच कर रहा है...पोर्ट 25482 पर वेबसॉकेट सर्वर शुरू कर रहा है।OmniDB सर्वर शुरू कर रहा है...पोर्ट उपलब्धता की जाँच कर रहा है...सर्वर OmniDB 2.17.0 को 0.0.0.0:8080 पर शुरू कर रहा है। उपयोगकर्ता डेटाबेस संस्करण 2.17.0 पहले से ही सर्वर संस्करण से मेल खा रहा है। अपने पसंदीदा ब्राउज़र में ओमनीडीबी खोलें बाहर निकलने के लिए Ctrl+C दबाएं

इससे पहले कि हम OmniDB इंटरफ़ेस तक पहुँचें, हम EC2 इंस्टेंस के सुरक्षा समूह में पोर्ट 8080 और पोर्ट 25482 भी जोड़ते हैं:

चरण 3:OmniDB इंटरफ़ेस तक पहुंचें

सार्वजनिक पते पर ब्राउज़ करना और OmniDB नोड अब लॉगिन स्क्रीन दिखाता है:

हम "व्यवस्थापक" का डिफ़ॉल्ट उपयोगकर्ता नाम और उसका पासवर्ड, "व्यवस्थापक" निर्दिष्ट करते हैं। यह हमें मुख्य OmniDB इंटरफ़ेस में लॉग इन करने देता है। पहली स्क्रीन नीचे दिखाई गई है:

इसके बाद, हम स्क्रीन के ऊपरी दाएं कोने पर "उपयोगकर्ताओं को प्रबंधित करें" आइकन पर क्लिक करते हैं:

और व्यवस्थापक उपयोगकर्ता का डिफ़ॉल्ट पासवर्ड बदलें:

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

स्क्रीन के बाएं-ऊपरी कोने से, हम "कनेक्शन" लिंक पर क्लिक करते हैं, और फिर परिणामी डायलॉग बॉक्स से, "नया कनेक्शन" बटन पर क्लिक करते हैं:

फिर हम प्राथमिक PostgreSQL नोड के लिए कनेक्शन विवरण निर्दिष्ट करते हैं और "डेटा सहेजें" बटन पर क्लिक करते हैं:

एक बार कनेक्शन सेव हो जाने के बाद, हम "एक्शन" कॉलम से कनेक्शन आइकन (हरा टिक मार्क) पर क्लिक करते हैं।

यह डेटाबेस कनेक्शन दिखाते हुए एक नया टैब खोलता है। जैसा कि यहां दिखाया गया है, हम यहां प्राथमिक पोस्टग्रेएसक्यूएल नोड से जुड़े हैं:

हम स्टैंडबाय नोड को पंजीकृत करने के लिए उसी प्रक्रिया का पालन करते हैं:

चरण 4:एक नमूना डेटाबेस को पुनर्स्थापित करना

अब हम प्राथमिक PostgreSQL उदाहरण में एक नमूना डेटाबेस को पुनर्स्थापित कर रहे हैं। इस डेटाबेस को "DVDRental" कहा जाता है और यह PostgreSQL ट्यूटोरियल साइट से स्वतंत्र रूप से डाउनलोड करने योग्य है। हमने डाउनलोड की गई फ़ाइल को अनज़िप कर दिया है और स्रोत फ़ाइलों को प्राथमिक नोड के /tmp फ़ोल्डर के अंतर्गत एक उपनिर्देशिका में निकाला है:

[[email protected] DVDrental] # ls -latotal 2796drwxr-xr-x. 2 जड़     जड़         280 जून 16 11:32 .drwxrwxrwt. 9 रूट    रूट         257 जून 16 11:31 ..-rw-------. 1 पोस्टग्रेज पोस्टग्रेज   57147 मई 12  2019 3055.dat-rw --------। 1 पोस्टग्रेज पोस्टग्रेज करता है    8004 मई 12  2019 3057.dat-rw --------। 1 पोस्टग्रेज पोस्टग्रेज     483 मई 12  2019 3059.dat-rw-------. 1 पोस्टग्रेज पोस्टग्रेट करता है  333094 12 मई 2019 3061.dat-rw --------। 1 पोस्टग्रेज पोस्टग्रेज  149469 मई 12  2019 3062.dat-rw --------। 1 पोस्टग्रेज पोस्टग्रेज   26321 मई 12  2019 3063.डेट-आरडब्ल्यू-------। 1 पोस्टग्रेज पोस्टग्रेज   46786 12 मई 2019 3065.dat-rw --------। 1 पोस्टग्रेज पोस्टग्रेज   21762 मई 12  2019 3067.dat-rw-------. 1 पोस्टग्रेज पोस्टग्रेज करता है    3596 मई 12  2019 3069.dat-rw --------। 1 पोस्टग्रेज पोस्टग्रेज  140422 मई 12  2019 3071.डेट-आरडब्ल्यू---. 1 पोस्टग्रेज पोस्टग्रेज     263 मई 12  2019 3073.dat-rw-------. 1 पोस्टग्रेज पोस्टग्रेज  718644 मई 12  2019 3075.dat-rw-------. 1 पोस्टग्रेज 1214420 मई 12  2019 3077.dat-rw------- को पोस्ट करता है। 1 पोस्टग्रेज पोस्टग्रेज करता है     271 मई 12  2019 3079.dat-rw------. 1 पोस्टग्रेज पोस्टग्रेज      57 मई 12  2019 3081.dat-rw-------. 1 पोस्टग्रेज पोस्टग्रेज   45872 मई 12  2019 रिस्टोर.sql-rw-----------। 1 पोस्टग्रेज पोस्टग्रेज   55111 मई 12  2019 toc.dat

अगला, हम प्राथमिक PostgreSQL उदाहरण (PG-Node1) में निम्नलिखित शेल कमांड चलाते हैं। ये कमांड्स रिस्टोर.एसक्यूएल फाइल में कुछ बदलाव करते हैं:

  • “$$PATH$$/” की सभी घटनाओं को हटा दें। यह सुनिश्चित करता है कि स्क्रिप्ट एक ही निर्देशिका में सभी डेटा फ़ाइलों को ढूंढ सकती है
  • “English_United State.1252” की सभी घटनाओं को “en_US.UTF-8” में बदलें। यह सुनिश्चित करता है कि जब स्क्रिप्ट चलती है तो लापता लोकेल के कारण कोई त्रुटि नहीं होती है।
  • "DROP DATBASE DVDrental" कमांड को "DROP DATBASE IF EXISTS DVDrental" में बदलें, ताकि कोई अमान्य डेटाबेस त्रुटि दिखाई न दे।
# sed -i 's/$$PATH$$\//\/tmp\/dvdrental\//g' /tmp/dvdrental/restore.sql# sed -i 's/English_United State.1252/hi .UTF-8/g' /tmp/dvdrental/restore.sql# sed -i's/DROP DATABASE DVDrental;/DROP DATABASE यदि मौजूद है DVDrental;/g' /tmp/dvdrental/restore.sql

इसके बाद, हम पोस्टग्रेज यूजर पर स्विच करते हैं और शेल प्रॉम्प्ट से निम्न कमांड चलाते हैं:

$ psql -U postgres -d postgres -f /tmp/dvdrental/restore.sql

यह प्राथमिक नोड में नमूना डेटाबेस को पुनर्स्थापित करता है। यदि हम OmniDB से जाँच करते हैं, तो हम देख सकते हैं कि डेटाबेस बनाया गया है:

निष्कर्ष

अब हमारे पास पूरी तरह से कार्यशील पोस्टग्रेएसक्यूएल क्लस्टर और एडब्ल्यूएस में एक ओमनीडीबी इंस्टेंस चल रहा है। OmniDB क्लस्टर के दोनों नोड्स से जुड़ सकता है। हमने प्राथमिक नोड में एक डेटाबेस को भी पुनर्स्थापित किया है जिसे स्टैंडबाय में दोहराया जा रहा है।

पर्यावरण सेट अप अब पूरा हो गया है। इस लेख के दूसरे भाग में, हम प्राथमिक उदाहरण के लिए एक प्रदर्शन निगरानी डैशबोर्ड बनाना शुरू करेंगे।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बैकएंड डेटाबेस एसिंक्रोनस रूप से बदलते समय जेपीए इकाइयों को रीफ्रेश कैसे करें?

  2. क्या INSERT RETURNING चीजों को सही क्रम में वापस करने की गारंटी है?

  3. पोस्टग्रेज फ्रंट-एंड में एक टैब कैसे निर्दिष्ट करें COPY

  4. एएमडी, इंटेल और पोस्टग्रेएसक्यूएल

  5. मैं एक कॉलम कैसे जोड़ सकता हूं जो पोस्टग्रेस्क्ल डेटाबेस में नल की अनुमति नहीं देता है?