EQVPS

VPS สำหรับฐานข้อมูล PostgreSQL (โฮสต์เอง ควบคุมเต็มที่)

โฮสต์ PostgreSQL เองบน VPS ด้วย superuser และ postgresql.conf ทั้งหมด — ส่วนขยายใดก็ได้ (pgvector, PostGIS, TimescaleDB) เวอร์ชันของคุณเอง แบ็กอัพของคุณเอง ทางเลือกแทน Postgres แบบจัดการที่คุณควบคุมได้เต็มที่ ไม่มี KYC จ่ายด้วยคริปโต เริ่มต้น $8/เดือน

มีช่วงเวลาที่ PostgreSQL แบบจัดการหยุดสะดวก: คุณต้องการส่วนขยายที่ระดับนั้นไม่มีให้ คุณอยากเห็น query plan จริงและปรับ work_mem คุณต้องการ superuser เมื่อคุณอยากเป็นเจ้าของ Postgres — คอนฟิก เวอร์ชัน ส่วนขยาย ตารางแบ็กอัพ — VPS ที่มี root เต็มคือคำตอบที่ตรงไปตรงมา นี่คือการตั้งค่าเฉพาะของ PostgreSQL สำหรับภาพกว้างกว่าเรื่อง "โฮสต์ฐานข้อมูลเอง" (Postgres vs Redis, ที่ไหนเครื่องแบบแชร์ผิด) ดูกรณีใช้งานฐานข้อมูลทั่วไป

ทำไมต้องโฮสต์ PostgreSQL เอง

บนเครื่องของคุณเอง คุณได้สิ่งที่ระดับแบบจัดการปันส่วน:

หาก 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 มันให้บริการแอปบนเครื่องเดียวกันโดยไม่เปิดเผยอะไรเลย จะให้เซิร์ฟเวอร์อื่นเข้ามา นั่นคือหัวข้อถัดไป

ให้เซิร์ฟเวอร์อื่นเชื่อมต่อ — อย่างปลอดภัย

ทันทีที่เครื่องอื่นต้องการฐานข้อมูล สองสิ่งเปลี่ยนไป:

  1. ที่อยู่ที่เสถียรและ routableแพ็กเกจ IPv4 เฉพาะ (Small-IP $16, Medium-IP $20) แพ็กเกจ NAT แชร์ IP ขาออกร่วมกัน ดีสำหรับขาออกแต่ไม่ใช่สำหรับการเป็นฐานข้อมูลที่คนอื่นโทรเข้ามา
  2. ไฟร์วอลล์ให้แน่น เปิด 5432 เฉพาะ IP ไคลเอนต์ที่ระบุเท่านั้น อย่าใช้ 0.0.0.0/0 เด็ดขาด และบังคับ TLS พอร์ต Postgres ที่เปิดอยู่บนอินเทอร์เน็ตสาธารณะถูกพบภายในไม่กี่นาที — ล็อกมันด้วยไฟร์วอลล์ UFW

แบ็กอัพเป็นหน้าที่ของคุณ

การโฮสต์เองหมายความว่าแบ็กอัพเป็นเรื่องของคุณ และกฎคือ: ทำก่อนที่คุณจะต้องใช้ pg_dump บน cron สำหรับแบ็กอัพเชิงตรรกะ หรือการเก็บถาวร WAL สำหรับการกู้คืน ณ จุดเวลาสำหรับสิ่งที่คุณใส่ใจ ส่งดัมป์ออกไปนอกเครื่อง และทดสอบการกู้คืนอย่างน้อยหนึ่งครั้ง — แบ็กอัพที่คุณไม่เคยกู้คืนเลยคือความหวัง ไม่ใช่แบ็กอัพ มีแอดออนแบ็กอัพแบบจัดการหากคุณไม่อยากรันเอง

ทำไมต้อง EQVPS สำหรับ PostgreSQL

กรณีใช้งานฐานข้อมูลทั่วไป (ภาพรวม Postgres/Redis) → · RAG แบบโฮสต์เองในสเกลใหญ่ →

พร้อม deploy แล้วหรือยัง? จ่ายด้วยคริปโต ไม่ต้อง KYC — ใช้งานได้ในราวหนึ่งนาที

Deploy เลย →

FAQ

นี่ต่างจากกรณีใช้งานฐานข้อมูลทั่วไปของคุณอย่างไร?

หน้าฐานข้อมูลทั่วไปครอบคลุมภาพรวมทั้งหมด — Postgres หรือ Redis, การกำหนดขนาด, เมื่อใดเครื่องแบบแชร์เป็นเครื่องมือที่ผิด อันนี้เป็น PostgreSQL โดยเฉพาะ: superuser, postgresql.conf ทั้งไฟล์, ส่วนขยายใดก็ได้ที่คุณต้องการ, การเลือกเวอร์ชันหลักของคุณ, และการรัน pg_dump / แบ็กอัพ WAL ตามตารางของคุณเอง หากคุณต้องการ Postgres แบบโฮสต์เองโดยเฉพาะ นี่คือเวอร์ชันเจาะลึก หน้าทั่วไปคือภาพรวม

ฉันติดตั้งส่วนขยายใดได้บ้าง?

อันไหนก็ได้ — นั่นคือประเด็นของการโฮสต์เอง pgvector สำหรับ embedding และการค้นหาเชิงความหมาย, PostGIS สำหรับ geospatial, TimescaleDB สำหรับ time series, pg_cron, pg_stat_statements ระดับแบบจัดการมักจำกัดรายการส่วนขยายหรือขังไว้หลังแพ็กเกจที่สูงกว่า ด้วย superuser บนเครื่องของคุณเอง คุณติดตั้งอะไรก็ได้ที่เวิร์กโหลดของคุณต้องการ

PostgreSQL ต้องการ RAM เท่าไร?

สำหรับฐานข้อมูลของแอปเดียว working set 1.7–2 GB ตามความเป็นจริง ดังนั้น Small ($8/เดือน) พอดี แอปมากขึ้น การทำงานพร้อมกันจริงในโปรดักชัน หรือดัชนี pgvector ขนาดใหญ่ดันคุณไป Medium ($12) หรือสูงกว่า ปรับ shared_buffers และ work_mem ให้เข้ากับเครื่อง การปรับจูนนั้นตั้งแต่แรกก็เป็นเหตุผลใหญ่ที่จะโฮสต์เอง

เซิร์ฟเวอร์อื่นเชื่อมต่ออย่างปลอดภัยได้อย่างไร?

ผูก Postgres กับอินเทอร์เฟซที่ถูกต้อง เปิด 5432 เฉพาะ IP ที่ต้องใช้เท่านั้น (อย่าใช้ 0.0.0.0/0 เด็ดขาด) บังคับ TLS และเลือกแพ็กเกจ IPv4 เฉพาะเพื่อให้ที่อยู่เสถียรและ routable ได้ หากฐานข้อมูลให้บริการเฉพาะแอปบนเครื่องเดียวกัน ให้เก็บไว้ที่ localhost และไม่เปิดเผยอะไรเลย

คุณขอบัตรประชาชนหรือบัตรเครดิตหรือไม่?

ไม่ อีเมลหนึ่งอันสำหรับสมัคร จ่ายด้วย USDC หรือ USDT ได้ root ในราวหนึ่งนาที แล้ว Postgres ก็อยู่ห่างไปไม่กี่คำสั่ง

ความคิดเห็น

ยังไม่มีความคิดเห็น เป็นคนแรกสิ

แสดงความคิดเห็น

ความคิดเห็นจะถูกตรวจสอบก่อนแสดง