Vine un moment în care PostgreSQL gestionat nu mai e comod: vrei o extensie pe care planul nu o oferă, vrei să vezi planul real al interogării și să ajustezi work_mem, vrei superuser. Când vrei să deții Postgres — configurarea, versiunea, extensiile, programul de backup — un VPS cu root complet e răspunsul cinstit. Aceasta e configurarea specifică PostgreSQL; pentru imaginea mai largă despre „cum îți găzduiești o bază de date” (Postgres sau Redis, când un server folosit la toate e greșit), vezi cazul general cu baze de date.
De ce să găzduiești singur PostgreSQL
Pe propriul server primești ce planurile gestionate raționalizează:
- Tot
postgresql.conf—shared_buffers,work_mem,max_connections, setările WAL, ajustate pentru sarcina ta, nu valorile implicite ale unui furnizor. - Orice extensie.
pgvectorpentru embeddings,PostGISpentru geospațial,TimescaleDBpentru serii de timp,pg_cron,pg_stat_statements— instalezi ce îți trebuie. Aici spune cel mai des „nu” un plan gestionat. - Versiunea ta majoră, actualizată după programul tău, nu al furnizorului.
- Superuser și sistemul de operare de dedesubt — muți directorul de date, ajustezi kernelul, rulezi replicare în flux spre un al doilea server.
Dacă pgvector e motivul pentru care ești aici, reține că Postgres plus pgvector înseamnă un vector store complet pe o singură mașină — aceeași cărămidă din spatele unui set RAG găzduit de tine și al memoriei pentru agenți.
Configurare (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;"
Legată de 127.0.0.1, servește o aplicație de pe același server, fără să expună nimic. Dacă vrei să intre și alte servere, asta e secțiunea următoare.
Conectarea altor servere — în siguranță
Din momentul în care o altă mașină are nevoie de baza de date, se schimbă două lucruri:
- O adresă stabilă, rutabilă — un plan cu IPv4 dedicat (Small-IP $16, Medium-IP $20). Planurile NAT nu au un IP propriu de intrare: bune pentru conexiuni de ieșire, dar nu pentru o bază de date la care se conectează alții.
- Firewall strict. Deschide 5432 doar pentru IP-urile anume ale clienților, niciodată
0.0.0.0/0, și cere TLS. Un port Postgres deschis în internetul public e găsit în câteva minute — închide-l cu un firewall UFW.
Backup-urile sunt treaba ta
Găzduirea proprie înseamnă că backup-urile sunt pe umerii tăi, iar regula e: fă-le înainte să ai nevoie de ele. pg_dump pe un cron pentru backup-uri logice sau arhivarea WAL pentru restaurare la un moment anume, pentru orice ține la inimă. Trimite dump-urile în afara serverului și testează măcar o dată o restaurare — un backup pe care nu l-ai restaurat niciodată e o speranță, nu un backup. Există un add-on de backup gestionat, dacă preferi să nu te ocupi singur.
De ce EQVPS pentru PostgreSQL
- Root complet, superuser, configurarea ta — de la $8/lună, NVMe (RAID1), care contează din momentul în care o bază de date și WAL-ul ei scriu în același timp.
- Fără KYC, plată cripto. E-mail la înregistrare, USDC/USDT la plată.
- UE, root în ~60 de secunde. Îți aduci schema și pornești.
Cazul general cu baze de date (Postgres/Redis pe scurt) → · RAG găzduit de tine, la scară →
Cum instalezi PostgreSQL pe un VPS și te conectezi în siguranță →
Comentarii
Încă nu există comentarii. Fii primul.