Android

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

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

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

Anonim

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

Σε αυτόν τον οδηγό θα συζητήσουμε πώς να εγκαταστήσετε το διακομιστή βάσης δεδομένων PostgreSQL στο CentOS 8. Πριν επιλέξετε την έκδοση που θα εγκαταστήσετε, βεβαιωθείτε ότι οι εφαρμογές σας την υποστηρίζουν.

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

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

Για να μπορέσετε να εγκαταστήσετε πακέτα, πρέπει να είστε συνδεδεμένοι ως root ή χρήστης με δικαιώματα sudo.

Εγκατάσταση PostgreSQL στο CentOS 8

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

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

dnf module list postgresql

Η έξοδος δείχνει ότι η ενότητα 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

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

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.Password - Ένας ρόλος μπορεί να συνδεθεί παρέχοντας έναν κωδικό πρόσβασης. Οι κωδικοί πρόσβασης μπορούν να αποθηκευτούν ως scram-sha-256 , md5 και τον password (clear text).Ident - Υποστηρίζεται μόνο σε συνδέσεις TCP / IP. Λειτουργεί με τη λήψη του ονόματος χρήστη του λειτουργικού συστήματος του πελάτη, με προαιρετικό mapping.Peer - το ίδιο με το Ident, αλλά υποστηρίζεται μόνο σε τοπικές συνδέσεις.

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

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

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

sudo su - postgres psql

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

\q

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

sudo -u postgres psql

Συνήθως ο χρήστης postgres χρησιμοποιείται μόνο από το localhost.

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

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

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

  1. Αρχικά, συνδεθείτε με το κέλυφος PostgreSQL:

    sudo -u postgres psql

    Δημιουργήστε ένα νέο ρόλο PostgreSQL χρησιμοποιώντας την ακόλουθη εντολή thr:

    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

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