Android

Πώς να εγκαταστήσετε το postgresql σε centos 7

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

Πίνακας περιεχομένων:

Anonim

Το PostgreSQL ή το Postgres είναι ένα σύστημα γενικής χρήσης αντικειμενοστραφών βάσεων δεδομένων ανοικτού κώδικα με πολλές προηγμένες λειτουργίες που σας επιτρέπουν να δημιουργείτε σύνθετες εφαρμογές ιστού.

Σε αυτό το σεμινάριο, θα σας δείξουμε δύο διαφορετικές μεθόδους για τον τρόπο εγκατάστασης της PostgreSQL στη μηχανή σας CentOS 7. Η πρώτη μέθοδος θα σας καθοδηγήσει στα βήματα που απαιτούνται για την εγκατάσταση του PostgreSQL v9.2.23 από τα αποθετήρια CentOS, ενώ το δεύτερο θα σας δείξει πώς να εγκαταστήσετε την πιο πρόσφατη έκδοση του PostgreSQL από τα επίσημα αποθετήρια PostgreSQL.

Εάν η εφαρμογή σας δεν απαιτεί την πιο πρόσφατη έκδοση, σας συνιστούμε να χρησιμοποιήσετε την πρώτη μέθοδο και να εγκαταστήσετε την PostgreSQL από τα αποθετήρια CentOS.

Θα διερευνήσουμε επίσης τα βασικά στοιχεία της διαχείρισης βάσεων δεδομένων PostgreSQL.

Προϋποθέσεις

Πριν συνεχίσετε με αυτό το σεμινάριο, βεβαιωθείτε ότι έχετε συνδεθεί ως χρήστης με δικαιώματα sudo.

Εγκαταστήστε PostgreSQL από τα αποθετήρια CentOS

Τη στιγμή της σύνταξης αυτού του άρθρου, η τελευταία έκδοση του PostgreSQL που είναι διαθέσιμη από τα αποθετήρια CentOS είναι η PostgreSQL έκδοση 9.2.23.

Για να εγκαταστήσετε την PostgreSQL στο διακομιστή CentOS ακολουθήστε τα παρακάτω βήματα:

  1. Εγκατάσταση PostgreSQL

    Για να εγκαταστήσετε τον διακομιστή PostgreSQL μαζί με το πακέτο συμβολαίου PostgreSQL, το οποίο παρέχει διάφορες πρόσθετες λειτουργίες για τη βάση δεδομένων PostgreSQL, απλά πληκτρολογήστε:

    sudo yum install postgresql-server postgresql-contrib

    Αρχικοποίηση βάσης δεδομένων

    Αρχικοποιήστε τη βάση δεδομένων PostgreSQL με την ακόλουθη εντολή:

    sudo postgresql-setup initdb

    Initializing database… OK

    Ξεκινώντας την PostgreSQL

    Για να ξεκινήσετε την υπηρεσία PostgreSQL και να την ενεργοποιήσετε για να ξεκινήσετε την εκκίνηση απλά πληκτρολογήστε:

    sudo systemctl start postgresql sudo systemctl enable postgresql

    Επαλήθευση της εγκατάστασης του PostgreSQL

    Για να επαληθεύσουμε την εγκατάσταση θα προσπαθήσουμε να συνδεθούμε με τον διακομιστή βάσης δεδομένων PostgreSQL χρησιμοποιώντας το εργαλείο psql και να εκτυπώσουμε την έκδοση του διακομιστή:

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

    PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit (1 row)

Το Psql είναι ένα διαδραστικό εργαλείο γραμμής εντολών που μας επιτρέπει να αλληλεπιδράσουμε με το διακομιστή PostgreSQL.

Εγκαταστήστε PostgreSQL από τα αποθετήρια PostgreSQL

Κατά τη σύνταξη αυτού του άρθρου, η πιο πρόσφατη έκδοση του PostgreSQL που διατίθεται από τα επίσημα αποθετήρια PostgreSQL είναι η έκδοση PostgreSQL 10.4. Πριν συνεχίσετε με το επόμενο βήμα, πρέπει να επισκεφθείτε τη σελίδα PostgreSQL Yum Repository και να ελέγξετε αν υπάρχει διαθέσιμη μια νέα έκδοση.

Ακολουθήστε τα παρακάτω βήματα για να εγκαταστήσετε την πιο πρόσφατη έκδοση του PostgreSQL στο διακομιστή σας CentOS:

  1. Ενεργοποίηση του αποθετηρίου PostgreSQL

    Για να ενεργοποιήσετε τον αποθετήριο PostgreSQL, απλά εγκαταστήστε το αρχείο rpm του αποθετηρίου:

    sudo yum install

    Εγκατάσταση PostgreSQL

    Μόλις ενεργοποιηθεί το αποθετήριο, εγκαταστήστε το PostgreSQL server και τα πακέτα συνδρομών PostgreSQL με:

    sudo yum install postgresql10-server postgresql10-contrib

    Αρχικοποίηση βάσης δεδομένων

    Για να αρχικοποιήσετε τον τύπο βάσης δεδομένων PostgreSQL:

    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

    Initializing database… OK

    Ξεκινώντας την PostgreSQL

    Για να ξεκινήσετε την υπηρεσία PostgreSQL και να την ενεργοποιήσετε από τον τύπο εκκίνησης:

    sudo systemctl start postgresql-10 sudo systemctl enable postgresql-10

    Επαλήθευση της εγκατάστασης του PostgreSQL

    Για να επαληθεύσουμε την εγκατάσταση θα προσπαθήσουμε να συνδεθούμε με τον διακομιστή βάσης δεδομένων PostgreSQL χρησιμοποιώντας το εργαλείο psql και να εκτυπώσουμε την έκδοση του διακομιστή:

    sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"

    PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row)

Ρόλοι PostgreSQL και μέθοδοι ελέγχου ταυτότητας

Τα δικαιώματα πρόσβασης βάσεων δεδομένων στο PostgreSQL αντιμετωπίζονται με την έννοια των ρόλων. Ένας ρόλος μπορεί να αντιπροσωπεύει έναν χρήστη της βάσης δεδομένων ή μια ομάδα χρηστών βάσης δεδομένων.

Η PostgreSQL υποστηρίζει πολλαπλές μεθόδους ελέγχου ταυτότητας. Οι πιο συνηθισμένες μέθοδοι είναι:

  • Εμπιστοσύνη - Με αυτήν τη μέθοδο, ο ρόλος μπορεί να συνδεθεί χωρίς κωδικό πρόσβασης, αρκεί να πληρούνται τα κριτήρια που ορίζονται στο pg_hba.conf.Password - Ένας ρόλος μπορεί να συνδεθεί παρέχοντας έναν κωδικό πρόσβασης. Οι κωδικοί πρόσβασης μπορούν να αποθηκευτούν ως scram-sha-256 md5 και τον password (clear-text).Ident - Αυτή η μέθοδος υποστηρίζεται μόνο σε συνδέσεις TCP / IP. Λειτουργεί με τη λήψη του ονόματος χρήστη του λειτουργικού συστήματος του πελάτη, με προαιρετικό mapping.Peer - το ίδιο με το Ident, αλλά υποστηρίζεται μόνο σε τοπικές συνδέσεις.

Ο έλεγχος ταυτότητας πελάτη PostgreSQL ορίζεται στο αρχείο διαμόρφωσης που ονομάζεται pg_hba.conf . Από προεπιλογή, για τις τοπικές συνδέσεις, η PostgreSQL έχει ρυθμιστεί να χρησιμοποιεί τη μέθοδο επαλήθευσης ταυτότητας από ομότιμους χρήστες.

Ο χρήστης postgres δημιουργείται αυτόματα όταν εγκαθιστάτε PostgreSQL. Αυτός ο χρήστης είναι ο υπερ-χρήστης για την περίπτωση PostgreSQL και είναι ισοδύναμος με τον χρήστη της ρίζας MySQL.

Για να συνδεθείτε στο διακομιστή PostgreSQL ως χρήστης postsgres πρώτα πρέπει να μεταβείτε στο postgres χρήστη και στη συνέχεια να έχετε πρόσβαση στο prompt PostgreSQL χρησιμοποιώντας το βοηθητικό πρόγραμμα psql :

sudo su - postgres psql

Από εδώ μπορείτε να αλληλεπιδράσετε με το PostgreSQL. Για να βγείτε από το κέλυφος PostgreSQL, πληκτρολογήστε:

\q

Μπορείτε επίσης να έχετε πρόσβαση στην εντολή PostgreSQL χωρίς να αλλάξετε τους χρήστες χρησιμοποιώντας την εντολή sudo :

sudo -u postgres psql

Ο χρήστης postgres χρησιμοποιείται συνήθως μόνο από τον τοπικό κεντρικό υπολογιστή και συνιστάται να μην ορίσετε τον κωδικό πρόσβασης για αυτόν τον χρήστη.

Εάν εγκαταστήσατε την έκδοση PostgreSQL 10 από τα επίσημα αποθετήρια PostgreSQL, θα χρειαστεί να χρησιμοποιήσετε την πλήρη διαδρομή στο δυαδικό psql που είναι /usr/pgsql-10/bin/psql .

Δημιουργία ρόλου και βάσης δεδομένων PostgreSQL

Μόνο υπερ- CREATEROLE και ρόλοι με προνόμιο CREATEROLE μπορούν να δημιουργήσουν νέους ρόλους.

Στο παρακάτω παράδειγμα, θα δημιουργήσουμε ένα νέο ρόλο με όνομα john μια βάση δεδομένων που ονομάζεται johndb και θα παραχωρήσουμε προνόμια στη βάση δεδομένων.

  1. Συνδεθείτε στη Shell PostgreSQL

    sudo -u postgres psql

    Δημιουργήστε έναν νέο ρόλο PostgreSQL

    Η ακόλουθη εντολή θα δημιουργήσει ένα νέο ρόλο που ονομάζεται john:

    create role john;

    Δημιουργήστε μια νέα βάση δεδομένων PostgreSQL

    Δημιουργήστε μια νέα βάση δεδομένων που ονομάζεται johndb χρησιμοποιώντας την εντολή createdb:

    create database johndb;

    Προνόμια χορήγησης

    Για να παραχωρήσετε δικαιώματα στον χρήστη john στη βάση δεδομένων που δημιουργήσαμε στο προηγούμενο βήμα, εκτελέστε το ακόλουθο ερώτημα:

    grant all privileges on database johndb to john;

Ενεργοποιήστε την απομακρυσμένη πρόσβαση στο διακομιστή PostgreSQL

Από προεπιλογή, ο διακομιστής PostgreSQL ακούει μόνο στην τοπική διεπαφή 127.0.0.1 . Για να ενεργοποιήσετε την απομακρυσμένη πρόσβαση στο διακομιστή PostgreSQL, ανοίξτε το αρχείο ρυθμίσεων postgresql.conf και προσθέστε το listen_addresses = '*' στην ενότητα CONNECTIONS AND AUTHENTICATION .

sudo vim /var/lib/pgsql/data/postgresql.conf Εάν εκτελείτε PostgreSQL έκδοση 10, η διαδρομή προς το αρχείο είναι /var/lib/pgsql/10/data/postgresql.conf ./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 Εάν εκτελείτε PostgreSQL έκδοση 10, κάντε επανεκκίνηση της υπηρεσίας PostgreSQL με το systemctl restart postgresql-10 .

Επαληθεύστε τις αλλαγές με το βοηθητικό πρόγραμμα 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 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 Εάν εκτελείτε PostgreSQL έκδοση 10, η πλήρης διαδρομή στο αρχείο είναι /var/lib/pgsql/10/data/pg_hba.conf .

συμπέρασμα

Έχετε μάθει πώς να εγκαταστήσετε και να διαμορφώσετε PostgreSQL στον κεντρικό υπολογιστή σας CentOS 7.

Μπορείτε να συμβουλευτείτε την τεκμηρίωση PostgreSQL για περισσότερες πληροφορίες σχετικά με αυτό το θέμα.

centos postgresql βάση δεδομένων