Android

Πώς να εγκαταστήσετε το postgresql στο debian 10

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

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

Anonim

Η PostgreSQL, συχνά γνωστή απλώς ως Postgres, είναι ένα σύστημα γενικής χρήσης αντικειμενοστραφών βάσεων δεδομένων ανοικτού κώδικα. Έχει πολλά ισχυρά χαρακτηριστικά, όπως online backup, σημείο ανάκτησης χρόνου, ένθετες συναλλαγές, ερώτημα SQL και JSON, έλεγχο ταυτόχρονης πολλαπλής έκδοσης (MVCC), ασύγχρονη αναπαραγωγή και πολλά άλλα.

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

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

Κατά τη σύνταξη αυτού του άρθρου, η πιο πρόσφατη έκδοση του PostgreSQL που είναι διαθέσιμη από τα προεπιλεγμένα αποθετήρια του Debian είναι η έκδοση PostgreSQL 11.5.

Για να εγκαταστήσετε την PostgreSQL στο διακομιστή Debian, ακολουθήστε τα παρακάτω βήματα ως root ή χρήστη με δικαιώματα sudo:

  1. Ξεκινήστε ενημερώνοντας το ευρετήριο πακέτων APT:

    sudo apt update

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

    sudo apt install postgresql postgresql-contrib

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

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

    Η έξοδος θα πρέπει να φαίνεται ως εξής:

    PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit

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

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

Η PostgreSQL χειρίζεται τα δικαιώματα πρόσβασης βάσης δεδομένων χρησιμοποιώντας την έννοια των ρόλων. Ανάλογα με τον τρόπο ρύθμισης του ρόλου, μπορεί να αντιπροσωπεύει έναν χρήστη της βάσης δεδομένων ή μια ομάδα χρηστών βάσης δεδομένων.

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

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

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

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

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

sudo su - postgres psql

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

\q

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

sudo -u postgres psql

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

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

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

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

  1. Αρχικά, δημιουργήστε το ρόλο εκδίδοντας την ακόλουθη εντολή:

    sudo su - postgres -c "createuser kylo"

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

    sudo su - postgres -c "createdb kylodb"

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

    sudo -u postgres psql

    Εκτελέστε το ακόλουθο ερώτημα:

    grant all privileges on database kylodb to kylo;

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

Από προεπιλογή, ο διακομιστής PostgreSQL, ακούει μόνο στην τοπική διεπαφή 127.0.0.1 .

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

sudo nano /etc/postgresql/11/main/postgresql.conf /etc/postgresql/11/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/11/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an 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 an 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 στο Debian 10. Για περισσότερες πληροφορίες σχετικά με αυτό το θέμα, συμβουλευτείτε την Τεκμηρίωση PostgreSQL.

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