Υπάρχει μια στιγμή όπου η διαχειριζόμενη PostgreSQL παύει να είναι βολική: θέλετε μια επέκταση που η βαθμίδα δεν προσφέρει, θέλετε να δείτε το πραγματικό πλάνο ερωτήματος και να ρυθμίσετε το work_mem, θέλετε superuser. Όταν θέλετε να κατέχετε την Postgres — τη διαμόρφωση, την έκδοση, τις επεκτάσεις, το πρόγραμμα αντιγράφων — ένα VPS με πλήρες root είναι η ειλικρινής απάντηση. Αυτή είναι η ειδική για PostgreSQL εγκατάσταση· για την ευρύτερη εικόνα «αυτο-φιλοξενία βάσης δεδομένων» (Postgres vs Redis, πού μια κοινόχρηστη μηχανή είναι λάθος) δείτε τη γενική περίπτωση χρήσης βάσης δεδομένων.
Γιατί να αυτο-φιλοξενήσετε την PostgreSQL
Στη δική σας μηχανή παίρνετε αυτό που οι διαχειριζόμενες βαθμίδες δίνουν με το δελτίο:
- Όλο το
postgresql.conf—shared_buffers,work_mem,max_connections, ρυθμίσεις WAL, προσαρμοσμένα στον φόρτο σας, όχι μια προεπιλογή προμηθευτή. - Οποιαδήποτε επέκταση.
pgvectorγια embeddings,PostGISγια γεωχωρικά,TimescaleDBγια χρονοσειρές,pg_cron,pg_stat_statements— εγκαταστήστε ό,τι χρειάζεστε. Εδώ μια διαχειριζόμενη βαθμίδα λέει όχι πιο συχνά. - Η κύρια έκδοσή σας, αναβαθμισμένη στο δικό σας πρόγραμμα, όχι του παρόχου.
- Superuser και το λειτουργικό από κάτω — μετακινήστε τον κατάλογο δεδομένων, ρυθμίστε τον πυρήνα, τρέξτε αναπαραγωγή streaming σε δεύτερη μηχανή.
Αν το pgvector είναι ο λόγος που είστε εδώ, σημειώστε ότι Postgres συν pgvector είναι ένα πλήρες vector store σε μία μηχανή — το ίδιο δομικό στοιχείο πίσω από μια αυτο-φιλοξενούμενη στοίβα RAG και τη μνήμη πράκτορα.
Στήστε το (Ubuntu 24.04, Docker)
# docker-compose.yml — PostgreSQL 16 (+ pgvector via the pgvector image)
services:
db:
image: pgvector/pgvector:pg16
restart: always
environment:
POSTGRES_USER: app
POSTGRES_PASSWORD: change-me-strong
POSTGRES_DB: app
command: ["postgres", "-c", "shared_buffers=512MB", "-c", "work_mem=32MB"]
volumes: ["/srv/pg:/var/lib/postgresql/data"]
ports: ["127.0.0.1:5432:5432"] # localhost only; see below to expose safely
docker compose up -d
docker compose exec db psql -U app -c "CREATE EXTENSION IF NOT EXISTS vector;"
Δεμένο στο 127.0.0.1, εξυπηρετεί μια εφαρμογή στην ίδια μηχανή χωρίς να εκθέτει τίποτα. Για να αφήσετε άλλους διακομιστές μέσα, αυτή είναι η επόμενη ενότητα.
Να αφήσετε άλλους διακομιστές να συνδεθούν — με ασφάλεια
Τη στιγμή που μια άλλη μηχανή χρειάζεται τη βάση, αλλάζουν δύο πράγματα:
- Μια σταθερή, δρομολογήσιμη διεύθυνση — ένα πλάνο με αποκλειστική IPv4 (Small-IP $16, Medium-IP $20). Τα πλάνα NAT μοιράζονται μια εξερχόμενη IP, καλό για εξερχόμενα αλλά όχι για να είσαι βάση που καλούν άλλοι.
- Firewall σκληρά. Ανοίξτε την 5432 μόνο στα συγκεκριμένα IP πελατών, ποτέ
0.0.0.0/0, και απαιτήστε TLS. Μια ανοιχτή θύρα Postgres στο δημόσιο διαδίκτυο βρίσκεται σε λεπτά — κλειδώστε την με ένα firewall UFW.
Τα αντίγραφα ασφαλείας είναι δική σας δουλειά
Η αυτο-φιλοξενία σημαίνει ότι τα αντίγραφα ασφαλείας είναι στα χέρια σας, και ο κανόνας είναι: κάντε τα πριν τα χρειαστείτε. pg_dump σε cron για λογικά αντίγραφα, ή αρχειοθέτηση WAL για ανάκτηση σε χρονικό σημείο για ό,τι σας νοιάζει. Στείλτε τα dumps έξω από τη μηχανή, και δοκιμάστε μια επαναφορά τουλάχιστον μία φορά — ένα αντίγραφο που δεν επαναφέρατε ποτέ είναι μια ελπίδα, όχι αντίγραφο. Ένα add-on διαχειριζόμενων αντιγράφων είναι διαθέσιμο αν προτιμάτε να μην το τρέχετε μόνοι σας.
Γιατί EQVPS για PostgreSQL
- Πλήρες root, superuser, η διαμόρφωσή σας — από $8/μήνα, NVMe (RAID1) που μετράει μόλις μια βάση και το WAL της γράφουν ταυτόχρονα.
- Χωρίς KYC, πληρωμή crypto. Email για εγγραφή, USDC/USDT για πληρωμή.
- ΕΕ (Γερμανία, Φινλανδία), root σε ~60 δευτερόλεπτα. Φέρτε το σχήμα σας και ξεκινήστε.
Γενική περίπτωση χρήσης βάσης δεδομένων (επισκόπηση Postgres/Redis) → · Αυτο-φιλοξενούμενο RAG σε κλίμακα →
Σχόλια
Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.