Πώς να εγκαταστήσετε το PostgreSQL σε Linux διακομιστή
Πλήρης οδηγός για την εγκατάσταση, τη διαμόρφωση και την ασφάλεια του διακομιστή βάσης δεδομένων PostgreSQL σε Ubuntu και CentOS.

Το PostgreSQL είναι ένα ισχυρό σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων ανοιχτού κώδικα γνωστό για την αξιοπιστία του, τον πλούτο λειτουργιών και τη συμμόρφωση με τα πρότυπα. Αυτός ο οδηγός θα σας βοηθήσει να εγκαταστήσετε και να διαμορφώσετε το PostgreSQL στον διακομιστή Hiddence Linux σας.
Εγκατάσταση PostgreSQL σε Ubuntu/Debian
Το PostgreSQL είναι διαθέσιμο στα προεπιλεγμένα αποθετήρια. Εγκαταστήστε την τελευταία έκδοση:
sudo apt update
sudo apt install postgresql postgresql-contrib -y
# Εκκίνηση και ενεργοποίηση PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql
# Επαλήθευση εγκατάστασης
sudo systemctl status postgresql
psql --versionΕγκατάσταση PostgreSQL σε RHEL / CentOS / AlmaLinux / Rocky Linux
Για διανομές βασισμένες σε RHEL, πρέπει πρώτα να προσθέσετε το αποθετήριο PostgreSQL:
# Εγκατάσταση αποθετηρίου PostgreSQL
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Για CentOS 8/Rocky Linux 8, χρησιμοποιήστε:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Εγκατάσταση PostgreSQL
sudo dnf install -y postgresql15-server postgresql15
# Αρχικοποίηση βάσης δεδομένων
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
# Εκκίνηση και ενεργοποίηση PostgreSQL
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15
# Επαλήθευση εγκατάστασης
sudo systemctl status postgresql-15
psql --versionΕπαλήθευση Εγκατάστασης
# Έλεγχος κατάστασης PostgreSQL
sudo systemctl status postgresql
# Έλεγχος έκδοσης PostgreSQL
psql --version
# Σύνδεση με PostgreSQL (Ubuntu/Debian)
sudo -u postgres psql
# Σύνδεση με PostgreSQL (CentOS/RHEL)
sudo -u postgres psql -d postgresΑσφάλεια PostgreSQL
Ορίστε έναν κωδικό πρόσβασης για τον χρήστη postgres:
# Σύνδεση με PostgreSQL
sudo -u postgres psql
# Ορισμός κωδικού πρόσβασης για τον χρήστη postgres
ALTER USER postgres PASSWORD 'ο_ισχυρός_σας_κωδικός';
# Έξοδος από PostgreSQL
\qΔημιουργία Βάσης Δεδομένων και Χρήστη
# Σύνδεση ως χρήστης postgres
sudo -u postgres psql
# Δημιουργία βάσης δεδομένων
CREATE DATABASE myapp_db;
# Δημιουργία χρήστη
CREATE USER app_user WITH PASSWORD 'ισχυρός_κωδικός';
# Χορήγηση δικαιωμάτων
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;
# Έξοδος
\qΔιαχείριση Χρηστών
# Σύνδεση με PostgreSQL
sudo -u postgres psql
# Κατάλογος όλων των χρηστών
\du
# Δημιουργία νέου χρήστη
CREATE USER newuser WITH PASSWORD 'κωδικός';
# Χορήγηση δικαιωμάτων
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;
# Ανάκληση δικαιωμάτων
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;
# Διαγραφή χρήστη
DROP USER newuser;Ενεργοποίηση Απομακρυσμένων Συνδέσεων
Για να επιτρέψετε απομακρυσμένες συνδέσεις, επεξεργαστείτε τα αρχεία διαμόρφωσης PostgreSQL:
# Επεξεργασία pg_hba.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf
# Επεξεργασία pg_hba.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf
# Προσθήκη γραμμής:
host all all 0.0.0.0/0 md5
# Επεξεργασία postgresql.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf
# Επεξεργασία postgresql.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf
# Αλλαγή:
listen_addresses = '*'
# Επανεκκίνηση PostgreSQL
sudo systemctl restart postgresqlΒασικές Εντολές PostgreSQL
# Σύνδεση με βάση δεδομένων
psql -U app_user -d myapp_db
# Κατάλογος βάσεων δεδομένων
\l
# Σύνδεση με βάση δεδομένων
\c database_name
# Κατάλογος πινάκων
\dt
# Περιγραφή πίνακα
\d table_name
# Εκτέλεση αρχείου SQL
psql -U app_user -d myapp_db -f script.sql
# Αντιγραφή ασφαλείας βάσης δεδομένων
pg_dump -U app_user myapp_db > backup.sql
# Επαναφορά βάσης δεδομένων
psql -U app_user -d myapp_db < backup.sqlΧρήσιμες Συμβουλές
- Χρησιμοποιείτε πάντα ισχυρούς κωδικούς πρόσβασης για τους χρήστες της βάσης δεδομένων
- Περιορίστε την απομακρυσμένη πρόσβαση σε συγκεκριμένες διευθύνσεις IP στο pg_hba.conf
- Κάντε τακτικά αντίγραφα ασφαλείας των βάσεων δεδομένων σας με pg_dump
- Παρακολουθήστε τα αρχεία καταγραφής PostgreSQL: /var/log/postgresql/ (Ubuntu) ή /var/lib/pgsql/15/data/log/ (CentOS)
- Χρησιμοποιείτε ομαδοποίηση συνδέσεων (pgBouncer) για εφαρμογές με υψηλή κίνηση
- Κρατήστε το PostgreSQL ενημερωμένο στην τελευταία σταθερή έκδοση για επιδιορθώσεις ασφαλείας