Android

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

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

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

Anonim

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

Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να εγκαταστήσετε το PostgreSQL στο Debian 9 και να διερευνήσετε τα βασικά στοιχεία της βασικής διαχείρισης βάσεων δεδομένων.

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

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

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

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

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

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

    sudo apt update

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

    sudo apt install postgresql postgresql-contrib

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

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

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

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

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

sudo su - postgres psql

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

\q

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

sudo -u postgres psql

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

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

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

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

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

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

    sudo su - postgres -c "createuser john"

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

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

    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 και προσθέστε το listen_addresses = '*' στην ενότητα CONNECTIONS AND AUTHENTICATION .

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

συμπέρασμα

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

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