Τι είναι εγκατεστημένο στον server PostgreSQL;
- PostgreSQL 18 από το επίσημο αποθετήριο PGDG
- Ρόλος superuser yonetici και μια κενή βάση δεδομένων με όνομα uygulama
- Απομακρυσμένες συνδέσεις μόνο μέσω TLS, με ταυτοποίηση κωδικού SCRAM-SHA-256
- Αυτοϋπογεγραμμένο πιστοποιητικό server
- Ο πελάτης γραμμής εντολών psql
- Ρυθμίσεις στο /etc/postgresql/18/main, με τις δικές μας προσθήκες στο conf.d/seturack.conf
- Firewall με ανοιχτή τη θύρα 5432 για τη βάση δεδομένων και τη θύρα 22 για το SSH
Τι μέγεθος χρειάζεστε για το PostgreSQL;
Το PostgreSQL δεν δίνει επίσημη τιμή για τη RAM, αφού το μέγεθος των δεδομένων και οι ταυτόχρονες συνδέσεις καθορίζουν τι χρειάζεστε. Ως εμπειρικός κανόνας, 1 GB είναι αρχή για ένα μικρό έργο και 2 έως 4 GB για μια εφαρμογή σε παραγωγή. Αυτή η εγκατάσταση δεν αγγίζει τις ρυθμίσεις μνήμης, άρα το shared_buffers μένει στην προεπιλογή του. Η επίσημη τεκμηρίωση προτείνει ως αρχική τιμή το 25 τοις εκατό της RAM σε server που τρέχει μόνο τη βάση δεδομένων και έχει 1 GB ή περισσότερο. Αυξήστε το μόνοι σας μετά την αναβάθμιση. Ο δίσκος δεν μπορεί να μικρύνει αργότερα.
| Χρήση | Μέγεθος | Τιμή | Επιλογή |
|---|---|---|---|
| Εισαγωγικό | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.59/μήνα | |
| Μεσαίο | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.02/μήνα | |
| Ισχυρό | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.91/μήνα |
Για ποιον είναι;
- Προγραμματιστές που η εφαρμογή τους τρέχει αλλού και θέλουν τη βάση δεδομένων σε δικό της server
- Ομάδες που θέλουν έναν superuser για να διαχειρίζονται μόνες τους ρόλους, επεκτάσεις και ρυθμίσεις
- Έργα βασισμένα σε επεκτάσεις όπως το pgvector ή το PostGIS
- Εφαρμογές που φιλοξενούνται στην Τουρκία και θέλουν τη βάση δεδομένων τους στην Κωνσταντινούπολη
Τι γίνεται μετά την παραγγελία;
- Ορίστε το μέγεθος και ολοκληρώστε την πληρωμή.
- Ο server σας ξεκινά και το PostgreSQL εγκαθίσταται μόνο του. Στις δοκιμές μας σε πραγματικούς servers αυτό χρειάστηκε περίπου 3 λεπτά.
- Στην καρτέλα Επισκόπηση του πάνελ σας, αντιγράψτε τις γραμμές Διεύθυνση σύνδεσης, Όνομα σύνδεσης και Κωδικός.
- Δοκιμάστε το από τον υπολογιστή σας: psql 'postgresql://yonetici:PASSWORD@IP:5432/uygulama?sslmode=require'
- Δημιουργήστε έναν ρόλο και μια βάση δεδομένων για την εφαρμογή σας: CREATE ROLE api LOGIN PASSWORD 'new-password'; CREATE DATABASE api OWNER api;
- Περιορίστε την πρόσβαση: ufw delete allow 5432/tcp και μετά ufw allow from YOUR_IP to any port 5432
Με κάθε server
- Ημερήσιο αντίγραφο ασφαλείας στην τιμή
- Απεριόριστη κίνηση
- Πλήρης πρόσβαση root
- Αναβαθμίστε ή μειώστε RAM και CPU αργότερα και μεγαλώστε τον δίσκο
- Τοποθεσία: Istanbul · IST-1.
Καλό είναι να ξέρετε
- Η θύρα 5432 είναι ανοιχτή στο διαδίκτυο. Αν συνδέονται μόνο οι δικοί σας servers, περιορίστε την στις διευθύνσεις IP τους μέσα στο firewall.
- Οι απομακρυσμένες συνδέσεις χωρίς TLS ή χωρίς κωδικό απορρίπτονται, άρα το sslmode=disable δεν θα λειτουργήσει.
- Το πιστοποιητικό είναι αυτοϋπογεγραμμένο. Το sslmode=require κρυπτογραφεί τη σύνδεση αλλά δεν αποδεικνύει την ταυτότητα του server· εγκαταστήστε δικό σας πιστοποιητικό για να χρησιμοποιήσετε το verify-full.
- Ο ρόλος yonetici που εμφανίζεται στο πάνελ σας είναι superuser, γι' αυτό μην τον βάζετε στη συμβολοσειρά σύνδεσης της εφαρμογής σας.
- Οι μικρές διορθώσεις έρχονται μέσω apt από το αποθετήριο PGDG. Η εκτέλεση του apt upgrade και οι μείζονες αναβαθμίσεις με pg_upgrade είναι δική σας ευθύνη.
- Το πάνελ εξακολουθεί να δείχνει τον κωδικό της εγκατάστασης. Αν τον αλλάξετε με ALTER ROLE, φυλάξτε μόνοι σας τον νέο.
Ερωτήσεις και απαντήσεις για το PostgreSQL
Πώς συνδέομαι στον server PostgreSQL μου;
Πάρτε τη διεύθυνση σύνδεσης και τον κωδικό από το πάνελ σας και χρησιμοποιήστε αυτή τη συμβολοσειρά: postgresql://yonetici:PASSWORD@IP:5432/uygulama?sslmode=require. Μπορούν να συνδεθούν με αυτήν τα psql, DBeaver, pgAdmin και κάθε πελάτης που δέχεται συμβολοσειρά σύνδεσης.
Είναι το PostgreSQL ανοιχτό στο διαδίκτυο και πώς το κλείνω;
Ναι, η θύρα 5432 είναι ανοιχτή, αλλά γίνονται δεκτές μόνο συνδέσεις TLS με κωδικό SCRAM. Για να επιτρέψετε μόνο συγκεκριμένες διευθύνσεις, εκτελέστε ufw delete allow 5432/tcp και μετά ufw allow from YOUR_IP to any port 5432.
Πόση RAM χρειάζεται το PostgreSQL;
Το PostgreSQL δεν έχει επίσημη τιμή για τη RAM. Ως εμπειρικός κανόνας, 1 GB είναι καλή αρχή για ένα μικρό έργο και 2 έως 4 GB για μια εφαρμογή σε παραγωγή. Μετά την αναβάθμιση αυξήστε και το shared_buffers· η επίσημη πρόταση είναι το 25 τοις εκατό της RAM.
Γιατί παίρνω σφάλμα πιστοποιητικού όταν συνδέομαι από το Node.js;
Ο οδηγός node-postgres ελέγχει το πιστοποιητικό όταν βλέπει sslmode=require και απορρίπτει ένα αυτοϋπογεγραμμένο. Χρησιμοποιήστε sslmode=no-verify στη συμβολοσειρά σύνδεσης. Η σύνδεση παραμένει κρυπτογραφημένη, αλλά δεν ελέγχεται η ταυτότητα του server.
Μπορώ να εγκαταστήσω pgvector ή PostGIS;
Ναι. Το αποθετήριο PGDG υπάρχει ήδη στον server, οπότε εκτελέστε ως root apt install postgresql-18-pgvector και μετά CREATE EXTENSION vector στη βάση δεδομένων σας. Το PostGIS βρίσκεται στο ίδιο αποθετήριο ως postgresql-18-postgis-3.
Καλύπτουν τα αντίγραφα ασφαλείας τις βάσεις δεδομένων μου;
Ναι. Ο server σας παίρνει αντίγραφο ασφαλείας κάθε βράδυ, φυλάσσονται οι τελευταίες 7 ημέρες και αυτό περιλαμβάνεται στην τιμή, με τα αρχεία της βάσης δεδομένων μέρος του δίσκου. Για να κρατήσετε ξεχωριστό αντίγραφο μίας βάσης ή ενός πίνακα, χρησιμοποιήστε επιπλέον το pg_dump.