Er is een moment waarop managed PostgreSQL ophoudt handig te zijn: je wilt een extensie die de tier niet biedt, je wilt het echte query-plan zien en work_mem tunen, je wilt superuser. Als je Postgres wilt bezitten — de config, de versie, de extensies, het back-upschema — is een VPS met volledige root het eerlijke antwoord. Dit is de PostgreSQL-specifieke setup; voor het bredere plaatje "een database zelf hosten" (Postgres vs Redis, waar een gedeelde machine verkeerd is), zie de algemene database-use-case.
Waarom PostgreSQL zelf hosten
Op je eigen machine krijg je wat managed tiers rantsoeneren:
- De hele
postgresql.conf—shared_buffers,work_mem,max_connections, WAL-instellingen, afgestemd op je workload, geen vendor-default. - Elke extensie.
pgvectorvoor embeddings,PostGISvoor geospatiaal,TimescaleDBvoor tijdreeksen,pg_cron,pg_stat_statements— installeer wat je nodig hebt. Hier zegt een managed tier het vaakst nee. - Jouw major-versie, geüpgraded op jouw schema, niet dat van de provider.
- Superuser en het OS eronder — verplaats de datadirectory, tune de kernel, draai streaming-replicatie naar een tweede machine.
Is pgvector de reden dat je hier bent, let dan op: Postgres-plus-pgvector is een complete vector store op één machine — hetzelfde bouwblok achter een zelf gehoste RAG-stack en agent-geheugen.
Zet het op (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;"
Gebonden aan 127.0.0.1 bedient het een app op dezelfde machine zonder iets bloot te stellen. Andere servers binnenlaten — dat is de volgende sectie.
Andere servers laten verbinden — veilig
Zodra een andere machine de database nodig heeft, veranderen twee dingen:
- Een stabiel, routeerbaar adres — een plan met dedicated IPv4 (Small-IP $16, Medium-IP $20). NAT-plannen delen een uitgaand IP, prima voor uitgaand maar niet om een database te zijn waar anderen naartoe bellen.
- Firewall hard. Open 5432 alleen voor de specifieke client-IP's, nooit
0.0.0.0/0, en vereis TLS. Een open Postgres-poort op het publieke internet wordt binnen minuten gevonden — zet hem op slot met een UFW-firewall.
Back-ups zijn jouw taak
Zelf hosten betekent dat back-ups op jou aankomen, en de regel is: doe ze voordat je ze nodig hebt. pg_dump op een cron voor logische back-ups, of WAL-archivering voor point-in-time recovery op alles wat je belangrijk vindt. Verscheep de dumps van de machine af en test minstens één keer een restore — een back-up die je nooit hebt teruggezet is een hoop, geen back-up. Een managed-back-up-add-on is beschikbaar als je hem liever niet zelf draait.
Waarom EQVPS voor PostgreSQL
- Volledige root, superuser, jouw config — vanaf $8/maand, NVMe (RAID1) die ertoe doet zodra een database en zijn WAL tegelijk schrijven.
- Geen KYC, cryptobetaling. E-mail om te registreren, USDC/USDT om te betalen.
- EU (Duitsland, Finland), root in ~60 seconden. Breng je schema mee en ga.
Algemene database-use-case (Postgres/Redis-overzicht) → · Zelf gehoste RAG op schaal →
Reacties
Nog geen reacties. Wees de eerste.