Yönetilen PostgreSQL'in artık elverişli olmaktan çıktığı bir an vardır: katmanın sunmadığı bir uzantı istersiniz, gerçek sorgu planını görmek ve work_mem'i ayarlamak istersiniz, superuser istersiniz. Postgres'e sahip olmak istediğinizde — yapılandırma, sürüm, uzantılar, yedek programı — tam root'lu bir VPS dürüst cevaptır. Bu, PostgreSQL'e özgü kurulumdur; daha geniş "bir veritabanını kendin barındır" resmi için (Postgres vs Redis, paylaşımlı bir makinenin nerede yanlış olduğu) genel veritabanı kullanım durumuna bakın.
Neden PostgreSQL'i kendiniz barındırmalısınız
Kendi makinenizde, yönetilen katmanların karneye bağladığını alırsınız:
- Tüm
postgresql.conf—shared_buffers,work_mem,max_connections, WAL ayarları, iş yükünüze göre ayarlanmış, satıcı varsayılanı değil. - Herhangi bir uzantı. Gömmeler için
pgvector, coğrafi-mekânsal içinPostGIS, zaman serileri içinTimescaleDB,pg_cron,pg_stat_statements— neye ihtiyacınız varsa kurun. Yönetilen bir katmanın en sık hayır dediği yer burasıdır. - Ana sürümünüz, satıcının değil sizin programınızda yükseltilir.
- Superuser ve altındaki işletim sistemi — veri dizinini taşıyın, çekirdeği ayarlayın, ikinci bir makineye akış çoğaltması çalıştırın.
Buraya gelme nedeniniz pgvector ise, Postgres artı pgvector'ün tek bir makinede eksiksiz bir vektör deposu olduğunu unutmayın — kendi barındırdığınız bir RAG yığını ve ajan belleğinin arkasındaki aynı yapı taşı.
Kurun (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'e bağlı olarak, hiçbir şeyi açığa çıkarmadan aynı makinedeki bir uygulamaya hizmet eder. Diğer sunucuları içeri almak için, o bir sonraki bölüm.
Diğer sunucuların bağlanmasına izin vermek — güvenli şekilde
Başka bir makinenin veritabanına ihtiyaç duyduğu an iki şey değişir:
- Kararlı, yönlendirilebilir bir adres — bir ayrılmış-IPv4 planı (Small-IP $16, Medium-IP $20). NAT planları giden bir IP'yi paylaşır, giden için iyidir ama başkalarının aradığı bir veritabanı olmak için değil.
- Güçlü güvenlik duvarı. 5432'yi yalnızca belirli istemci IP'lerine açın, asla
0.0.0.0/0, ve TLS'i zorunlu kılın. Genel internette açık bir Postgres portu dakikalar içinde bulunur — bir UFW güvenlik duvarıyla kilitleyin.
Yedekler sizin işiniz
Kendi barındırmak, yedeklerin size ait olduğu anlamına gelir ve kural şu: ihtiyaç duymadan önce yapın. Mantıksal yedekler için cron'da pg_dump, veya önemsediğiniz her şeyde belirli bir zamana geri yükleme için WAL arşivleme. Dump'ları makineden dışarı gönderin ve en az bir kez bir geri yüklemeyi test edin — hiç geri yüklemediğiniz bir yedek bir umuttur, yedek değil. Kendiniz çalıştırmamayı tercih ederseniz bir yönetilen-yedek eklentisi mevcuttur.
Neden PostgreSQL için EQVPS
- Tam root, superuser, sizin yapılandırmanız — aylık 8 $'dan başlar, bir veritabanı ve WAL'ı aynı anda yazdığında önem kazanan NVMe (RAID1).
- KYC yok, kripto ödeme. Kaydolmak için e-posta, ödemek için USDC/USDT.
- AB (Almanya, Finlandiya), ~60 saniyede root. Şemanızı getirin ve başlayın.
Genel veritabanı kullanım durumu (Postgres/Redis genel bakış) → · Ölçekte kendi barındırdığınız RAG →
Yorumlar
Henüz yorum yok. İlk olun.