एंड्रॉयड

सेंटोस 8 पर पोस्टग्रैस्कल कैसे स्थापित करें

PostgreSQL Tutorial: How to download and install PostgreSQL on Windows 10 [EN]

PostgreSQL Tutorial: How to download and install PostgreSQL on Windows 10 [EN]

विषयसूची:

Anonim

PostgreSQL या Postgres एक ओपन-सोर्स सामान्य-उद्देश्य ऑब्जेक्ट-रिलेशनल डेटाबेस प्रबंधन प्रणाली है जिसमें कई उन्नत विशेषताएं हैं जो आपको गलती-सहिष्णु वातावरण या जटिल एप्लिकेशन बनाने की अनुमति देती हैं।

इस गाइड में, हम चर्चा करेंगे कि CentOS 8 पर PostgreSQL डेटाबेस सर्वर को कैसे स्थापित किया जाए। इंस्टॉल करने के लिए कौन सा संस्करण चुनने से पहले, सुनिश्चित करें कि आपके एप्लिकेशन इसका समर्थन करते हैं।

हम PostgreSQL डेटाबेस प्रशासन की मूल बातें भी तलाशेंगे।

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

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

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

इस लेख को लिखने के समय, मानक CentOS रिपॉजिटरी से संस्करण के लिए पोस्टग्रेएसक्यूएल सर्वर के दो संस्करण उपलब्ध हैं: संस्करण 9.6 और 10.0।

उपलब्ध PostgreSQL मॉड्यूल स्ट्रीम को सूचीबद्ध करने के लिए, टाइप करें:

dnf module list postgresql

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

CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module

  1. डिफ़ॉल्ट स्ट्रीम स्थापित करने के लिए, PostgreSQL सर्वर संस्करण 10.0 प्रकार:

    sudo dnf install @postgresql:10

    PostgreSQL सर्वर संस्करण 9.6 प्रकार स्थापित करने के लिए:

    sudo dnf install @postgresql:9.6

आप कॉन्ट्रिब पैकेज को भी स्थापित करना चाह सकते हैं जो PostgreSQL डेटाबेस के लिए कई अतिरिक्त सुविधाएँ प्रदान करता है:

sudo dnf install postgresql-contrib

एक बार इंस्टॉलेशन पूरा हो जाने पर, PostgreSQL डेटाबेस को निम्न कमांड से आरंभ करें:

sudo postgresql-setup initdb

Initializing database… OK

PostgreSQL सेवा शुरू करें और इसे बूट पर शुरू करने के लिए सक्षम करें:

sudo systemctl enable --now postgresql

PostgreSQL डेटाबेस सर्वर से कनेक्ट करके स्थापना को सत्यापित करने के लिए psql टूल का उपयोग करें और इसका संस्करण प्रिंट करें:

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

PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit

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

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

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

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

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

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

PostgreSQL सर्वर में postgres उपयोगकर्ता के रूप में लॉग इन करने के लिए, पहले उपयोगकर्ता पर जाएँ और फिर psql उपयोगिता का उपयोग करके PostgreSQL प्रॉम्प्ट पर psql :

sudo su - postgres psql

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

\q

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

sudo -u postgres psql

आमतौर पर postgres उपयोगकर्ता का उपयोग केवल लोकलहोस्ट से किया जाता है।

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

केवल निर्माता और CREATEROLE विशेषाधिकार के साथ नई भूमिकाएं बना सकते हैं।

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

  1. सबसे पहले, PostgreSQL शेल से कनेक्ट करें:

    sudo -u postgres psql

    निम्नलिखित कमांड का उपयोग करके एक नई पोस्टग्रेसीक्यूएल भूमिका बनाएँ:

    create role john;

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

    create database johndb;

    निम्नलिखित क्वेरी चलाकर डेटाबेस पर उपयोगकर्ता को विशेषाधिकार प्रदान करें:

    grant all privileges on database johndb to john;

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

डिफ़ॉल्ट रूप से, PostgreSQL सर्वर केवल स्थानीय इंटरफ़ेस 127.0.0.1 पर सुनता है।

अपने PostgreSQL सर्वर पर दूरस्थ पहुँच को सक्षम करने के लिए, कॉन्फ़िगरेशन फ़ाइल खोलें:

sudo nano /var/lib/pgsql/data/postgresql.conf

CONNECTIONS AND AUTHENTICATION अनुभाग के लिए नीचे स्क्रॉल करें और निम्नलिखित पंक्ति जोड़ें / संपादित करें:

/var/lib/pgsql/data/postgresql.conf

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

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

sudo systemctl restart postgresql

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 फ़ाइल को संपादित करके दूरस्थ कनेक्शन स्वीकार करने के लिए सर्वर को कॉन्फ़िगर करना है।

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

/var/lib/pgsql/data/pg_hba.conf

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

निष्कर्ष

CentOS 8 दो PostgreSQL संस्करण प्रदान करता है: 9.6 और 10.0।

इस विषय पर अधिक जानकारी के लिए PostgreSQL प्रलेखन पर जाएँ

सेंटोस पोस्टग्रैक्स्ल डेटाबेस