एंड्रॉयड

डेबियन 9 पर postgresql कैसे स्थापित करें

Introduction to Amazon Web Services by Leo Zhadanovsky

Introduction to Amazon Web Services by Leo Zhadanovsky

विषयसूची:

Anonim

PostgreSQL, जिसे अक्सर Postgres के रूप में जाना जाता है, एक ओपन-सोर्स सामान्य-उद्देश्य ऑब्जेक्ट-रिलेशनल डेटाबेस मैनेजमेंट सिस्टम है। PostgreSQL में कई उन्नत सुविधाएँ हैं जैसे कि ऑनलाइन बैकअप, पॉइंट इन टाइम रिकवरी, नेस्टेड ट्रांजेक्शन, SQL और JSON क्वेरी, मल्टी-वर्ज़न कंसीडर कंट्रोल (MVCC), एसिंक्रोनस प्रतिकृति और बहुत कुछ।

इस ट्यूटोरियल में, हम आपको बताएंगे कि डेबियन 9 पर PostgreSQL कैसे स्थापित करें और बुनियादी डेटाबेस प्रशासन के मूल सिद्धांतों का पता लगाएं।

आवश्यक शर्तें

इस ट्यूटोरियल के साथ आगे बढ़ने से पहले, सुनिश्चित करें कि आपके द्वारा लॉगिन किए गए उपयोगकर्ता में sudo विशेषाधिकार हैं।

PostgreSQL स्थापित करना

इस लेख को लिखने के समय, डेबियन रिपॉजिटरी से उपलब्ध PostgreSQL का नवीनतम संस्करण PostgreSQL संस्करण 9.6 है।

अपने डेबियन सर्वर पर PostgreSQL स्थापित करने के लिए निम्न चरणों को पूरा करें:

  1. स्थानीय पैकेज इंडेक्स अपडेट करके शुरू करें:

    sudo apt update

    PostgreSQL सर्वर और PostgreSQL contrib पैकेज स्थापित करें जो PostgreSQL डेटाबेस के लिए अतिरिक्त सुविधाएँ प्रदान करता है:

    sudo apt install postgresql postgresql-contrib

    जब स्थापना पूर्ण हो जाती है, तो PostgreSQL सेवा स्वचालित रूप से शुरू हो जाएगी। स्थापना को सत्यापित करने के लिए हम psql उपयोगिता का उपयोग करके PostgreSQL डेटाबेस सर्वर से कनेक्ट करेंगे और सर्वर संस्करण प्रिंट करेंगे:

    sudo -u postgres psql -c "SELECT version();"

    आउटपुट इस तरह दिखेगा:

    version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)

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

PostgreSQL भूमिकाएँ और प्रमाणीकरण तरीके

PostgreSQL भूमिकाओं की अवधारणा का उपयोग करके डेटाबेस एक्सेस अनुमतियों को संभालता है। एक भूमिका एक डेटाबेस उपयोगकर्ता या डेटाबेस उपयोगकर्ताओं के एक समूह का प्रतिनिधित्व कर सकती है।

PostgreSQL कई प्रमाणीकरण विधियों का समर्थन करता है। सबसे अधिक इस्तेमाल की जाने वाली विधियाँ हैं:

  • ट्रस्ट - इस पद्धति के साथ, भूमिका पासवर्ड के बिना कनेक्ट हो सकती है, जब तक कि pg_hba.conf में परिभाषित मानदंड pg_hba.conf हैं। पासवर्ड - एक भूमिका पासवर्ड प्रदान करके कनेक्ट कर सकती है। पासवर्ड को scram-sha-256 md5 और password (स्पष्ट-पाठ) पहचान के रूप में संग्रहीत किया जा सकता है - यह विधि केवल टीसीपी / आईपी कनेक्शन पर समर्थित है। क्लाइंट के ऑपरेटिंग सिस्टम उपयोगकर्ता नाम प्राप्त करके काम करता है, एक वैकल्पिक उपयोगकर्ता नाम मैपिंग के साथ। पेअर - समान को पहचान के रूप में लेकिन यह केवल स्थानीय कनेक्शन के लिए समर्थित है।

PostgreSQL क्लाइंट प्रमाणीकरण को कॉन्फ़िगरेशन फ़ाइल pg_hba.conf नाम से परिभाषित किया गया है। स्थानीय कनेक्शन के लिए डिफ़ॉल्ट रूप से, PostgreSQL सहकर्मी प्रमाणीकरण विधि का उपयोग करने के लिए सेट किया गया है।

जब आप PostgreSQL स्थापित करते हैं तो postgres उपयोगकर्ता अपने आप बन जाता है। यह उपयोगकर्ता PostgreSQL इंस्टेंस के लिए सुपरसुअर है और यह MySQL रूट उपयोगकर्ता के बराबर है।

PostgreSQL सर्वर में लॉग-इन उपयोगकर्ता के रूप में लॉग इन करने के लिए पहले आपको उपयोगकर्ता पोस्टग्रेज पर स्विच करने की आवश्यकता होती है और फिर आप psql उपयोगिता का उपयोग करके PostgreSQL प्रॉम्प्ट तक पहुँच सकते हैं:

sudo su - postgres psql

यहाँ से आप अपने PostgreSQL उदाहरण के साथ बातचीत कर सकते हैं। PostgreSQL शेल प्रकार से बाहर निकलने के लिए:

\q

उपयोगकर्ताओं को स्विच किए बिना PostgreSQL प्रॉम्प्ट तक पहुँचने के लिए आप sudo कमांड का उपयोग कर सकते हैं:

sudo -u postgres psql

postgres उपयोगकर्ता का उपयोग आमतौर पर केवल स्थानीय होस्ट से किया जाता है और यह अनुशंसा की जाती है कि वह इस उपयोगकर्ता के लिए पासवर्ड सेट न करे।

PostgreSQL भूमिका और डेटाबेस बनाना

आप createuser कमांड का उपयोग करके कमांड लाइन से नई भूमिकाएं बना सकते हैं। केवल निर्माता और CREATEROLE विशेषाधिकार के साथ नई भूमिकाएं बना सकते हैं।

निम्नलिखित उदाहरण में, हम john नाम का एक नया डेटाबेस johndb जिसका नाम johndb और डेटाबेस पर विशेषाधिकार प्रदान करेगा।

  1. एक नया PostgreSQL भूमिका बनाएँ

    निम्नलिखित कमांड john नाम से एक नई भूमिका बनाएगी:

    sudo su - postgres -c "createuser john"

    एक नया PostgreSQL डेटाबेस बनाएँ

    Createb कमांड का उपयोग करके जॉन्डब नाम का एक नया डेटाबेस बनाएँ:

    sudo su - postgres -c "createdb johndb"

    विशेषाधिकार प्रदान करें

    पिछले चरण में हमारे द्वारा बनाए गए डेटाबेस पर john उपयोगकर्ता को अनुमति देने के लिए, PostgreSQL शेल से कनेक्ट करें:

    sudo -u postgres psql

    और निम्नलिखित क्वेरी चलाएँ:

    grant all privileges on database johndb to john;

PostgreSQL सर्वर के लिए दूरस्थ पहुँच सक्षम करें

डिफ़ॉल्ट रूप से PostgreSQL, सर्वर केवल स्थानीय इंटरफेस 127.0.0.1 पर सुनता है। अपने PostgreSQL सर्वर के लिए दूरस्थ पहुँच को सक्षम करने के लिए कॉन्फ़िगरेशन फ़ाइल postgresql.conf खोलें और CONNECTIONS AND AUTHENTICATION अनुभाग में listen_addresses = '*' जोड़ें।

sudo vim /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

फ़ाइल को सहेजें और PostgreSQL सेवा को फिर से शुरू करें:

sudo service postgresql restart

ss उपयोगिता के साथ परिवर्तनों को सत्यापित करें:

ss -nlt | grep 5432

LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*

जैसा कि आप PostgreSQL सर्वर के ऊपर आउटपुट से देख सकते हैं सभी इंटरफेस (0.0.0.0) पर सुन रहा है।

अंतिम चरण pg_hba.conf फ़ाइल को संपादित करके दूरस्थ कनेक्शन स्वीकार करने के लिए सर्वर को कॉन्फ़िगर करना है।

नीचे कुछ उदाहरण विभिन्न उपयोग के मामलों को दिखा रहे हैं:

/etc/postgresql/9.6/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

निष्कर्ष

आपने सीखा है कि अपने डेबियन 9 सर्वर पर PostgreSQL को कैसे स्थापित करें और कॉन्फ़िगर करें। इस विषय पर अधिक जानकारी के लिए, PostgreSQL प्रलेखन से परामर्श करें।

डेबियन postgresql डेटाबेस