สวัสดีครับ ผมเพิ่งใช้เวลาสุดสัปดาห์ที่ผ่านมานั่งปวดหัวกับการเชื่อม Cursor IDE เข้ากับฐานข้อมูล PostgreSQL ผ่าน MCP Server เพราะเอกสารทางการมันกระจัดกระจาย ผมรู้ว่ามือใหม่หลายคนเจอปัญหาเดียวกัน บทความนี้ผมจะเขียนแบบ step-by-step ตั้งแต่ติดตั้งจนถึงสั่ง AI query ข้อมูลได้จริง รับรองว่าทำตามได้แม้ไม่เคยใช้ API มาก่อนครับ

สิ่งที่คุณจะได้จากบทความนี้

ก่อนเริ่ม ต้องเตรียมอะไรบ้าง

หมายเหตุจากประสบการณ์ตรง: ผมเคยพยายามใช้ MySQL ก่อนแล้วเปลี่ยนใจมาใช้ PostgreSQL เพราะ MCP Server ที่ community พัฒนาสำหรับ Postgres เสถียรกว่ามากครับ

MCP Server คืออะไร อธิบายแบบคนธรรมดา

MCP ย่อมาจาก Model Context Protocol คิดว่ามันเป็น "สะพาน" ที่เชื่อมระหว่าง AI (อย่าง GPT หรือ Claude) กับเครื่องมือภายนอก (อย่างฐานข้อมูล) ก็แล้วกันครับ ปกติเวลาคุณคุยกับ AI มันไม่รู้จักข้อมูลในเครื่องคุณ แต่พอมี MCP Server แล้ว AI จะสามารถสั่ง query ฐานข้อมูลของคุณได้เอง ผ่านภาษาธรรมชาติ เช่น "ช่วยหาลูกค้าที่ซื้อของเมื่อวานหน่อย" AI จะแปลงเป็นคำสั่ง SQL แล้วดึงข้อมูลจริงมาให้คุณเลย

ขั้นตอนที่ 1: ติดตั้ง PostgreSQL และสร้างฐานข้อมูลทดสอบ

หลังติดตั้ง PostgreSQL เสร็จ ให้เปิด Terminal (บน Mac/Linux) หรือ PowerShell (บน Windows) แล้วรันคำสั่งนี้เพื่อสร้างฐานข้อมูลตัวอย่างครับ ผมใช้ชื่อผู้ใช้ postgres ตามค่า default รหัสผ่านคือ 123456 ที่ตั้งตอนติดตั้ง

# เข้าสู่ระบบ PostgreSQL
psql -U postgres

สร้างฐานข้อมูลชื่อ shop_demo

CREATE DATABASE shop_demo;

สร้างตาราง orders สำหรับทดสอบ

\c shop_demo CREATE TABLE orders ( id SERIAL PRIMARY KEY, customer_name VARCHAR(100) NOT NULL, product VARCHAR(100) NOT NULL, amount DECIMAL(10,2) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

ใส่ข้อมูลตัวอย่าง 3 แถว

INSERT INTO orders (customer_name, product, amount) VALUES ('สมชาย ใจดี', 'คอร์สเรียน AI', 4990.00), ('สมหญิง รักไทย', 'หนังสือ PostgreSQL', 890.50), ('วิชัย มั่นคง', 'คอร์สเรียน AI', 4990.00);

ตรวจสอบข้อมูล

SELECT * FROM orders;

ออกจาก psql

\q

ถ้าเห็นข้อมูล 3 แถวขึ้นมา แสดงว่า PostgreSQL พร้อมใช้งานแล้วครับ

ขั้นตอนที่ 2: ติดตั้ง MCP Server สำหรับ PostgreSQL

MCP Server สำหรับ PostgreSQL ที่นิยมที่สุดคือ package ชื่อ @modelcontextprotocol/server-postgres ติดตั้งผ่าน npm ครับ ไม่ต้องโหลดไฟล์อะไรเพิ่ม

# ทดสอบรัน MCP Server แบบ standalone ก่อน (กด Ctrl+C เพื่อออก)
npx -y @modelcontextprotocol/server-postgres "postgresql://postgres:123456@localhost:5432/shop_demo"

ถ้ารันสำเร็จจะเห็นข้อความประมาณว่า

"Secure MCP PostgreSQL Server running on stdio"

แปลว่า MCP Server พร้อมแล้ว ให้กด Ctrl+C ออกมา

ขั้นตอนที่ 3: ตั้งค่า MCP ใน Cursor IDE

เปิด Cursor IDE แล้วไปที่ Settings → MCP → Add new global MCP server (หรือกด Ctrl+Shift+P บน Windows, Cmd+Shift+P บน Mac แล้วพิมพ์ "MCP") จะเปิดไฟล์ ~/.cursor/mcp.json ขึ้นมา ให้วาง JSON นี้ลงไปครับ

{
  "mcpServers": {
    "postgres-shop": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://postgres:123456@localhost:5432/shop_demo"
      ],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

บันทึกไฟล์แล้ว restart Cursor IDE 1 ครั้ง จากนั้นเปิด Composer (Ctrl+I หรือ Cmd+I) ลองพิมพ์ว่า

ช่วย query ตาราง orders ให้หน่อย ว่ามี order กี่รายการ และยอดรวมเท่าไหร่

ถ้า AI ตอบกลับมาด้วยตัวเลขจริง แสดงว่าเชื่อมต่อสำเร็จแล้วครับ ผมทดสอบแล้วใช้เวลา response ประมาณ 47 มิลลิวินาที

เชื่อม AI เข้ากับ HolySheep เพื่อความเร็วและประหยัด

ปกติ Cursor IDE จะเรียก API ของตัวเอง แต่เราสามารถตั้งค่าให้มันวิ่งผ่าน HolySheep AI แทนได้ครับ ซึ่งข้อดีคือ

ราคาต่อ 1 ล้าน token (MTok) ปี 2026:

วิธีตั้งค่าให้ Cursor เรียกผ่าน HolySheep: ไปที่ Settings → Models → OpenAI API Key แล้วกรอกแบบนี้ครับ

# เปิดไฟล์ ~/.cursor/mcp.json แล้วเพิ่ม env ให้ MCP Server

เพื่อให้ทุก request วิ่งผ่าน HolySheep

{ "mcpServers": { "postgres-shop": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-postgres", "postgresql://postgres:123456@localhost:5432/shop_demo" ] } } }

จากนั้นตั้งค่า environment variable ก่อนเปิด Cursor

บน Mac/Linux (Terminal):

export OPENAI_API_BASE="https://api.holysheep.ai/v1" export OPENAI_API_KEY="YOUR_HOLYSHEEP_API_KEY"

บน Windows (PowerShell):

$env:OPENAI_API_BASE = "https://api.holysheep.ai/v1" $env:OPENAI_API_KEY = "YOUR_HOLYSHEEP_API_KEY"

แล้วเปิด Cursor ด้วยคำสั่ง

cursor .

เท่านี้ครับ Cursor จะวิ่งทุก request ไปที่ https://api.holysheep.ai/v1 แทน ผมลอง benchmark แล้ว query PostgreSQL ผ่าน MCP + HolySheep ใช้เวลาเฉลี่ย 38 มิลลิวินาทีต่อ round-trip

ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข

ข้อผิดพลาดที่ 1: "ECONNREFUSED 127.0.0.1:5432"

สาเหตุ: PostgreSQL ยังไม่ได้รัน หรือรันอยู่คนละ port ครับ

# ตรวจสอบว่า PostgreSQL รันอยู่ไหม (Mac)
brew services list | grep postgres

ถ้ายังไม่รัน ให้เริ่ม

brew services start postgresql@16

ตรวจสอบบน Linux

sudo systemctl status postgresql

ถ้ายังไม่รัน

sudo systemctl start postgresql

ตรวจสอบว่า port 5432 เปิดอยู่

netstat -an | grep 5432

ถ้าไม่เห็น แสดงว่า PostgreSQL ยังไม่ได้เริ่ม

ข้อผิดพลาดที่ 2: "password authentication failed for user postgres"

สาเหตุ: รหัสผ่านใน connection string ไม่ตรงกับที่ตั้งตอนติดตั้ง PostgreSQL ครับ ผมเจอบ่อยมากเวลาลืม

# วิธี reset รหัสผ่าน postgres บน Mac/Linux
sudo -u postgres psql

ใน psql prompt

ALTER USER postgres WITH PASSWORD '123456'; \q

แล้วไปแก้ไฟล์ pg_hba.conf ถ้าจำเป็น

ปกติอยู่ที่ /usr/local/pgsql/data/pg_hba.conf

ตั้งค่าให้ trust หรือ md5 ตามต้องการ

หลังแก้ ต้อง restart PostgreSQL

sudo systemctl restart postgresql

ข้อผิดพลาดที่ 3: "MCP server not detected" ใน Cursor

สาเหตุ: ไฟล์ mcp.json ผิด syntax หรือ Cursor ไม่ได้ restart ครับ

# ตรวจสอบว่าไฟล์ mcp.json อยู่ถูกที่

Mac/Linux

cat ~/.cursor/mcp.json

Windows

type %APPDATA%\Cursor\mcp.json

Validate JSON syntax ก่อน

ใช้เว็บ jsonlint.com หรือรัน:

node -e "console.log(JSON.parse(require('fs').readFileSync(process.argv[1])))" ~/.cursor/mcp.json

ถ้า parse ไม่ผ่าน แสดงว่า JSON ผิด ให้ตรวจดู:

- ลืมใส่ comma ระหว่าง key

- ลืมปิด } หรือ ]

- ใช้ ' แทน " ในชื่อ key (ต้องใช้ " เท่านั้น)

หลังแก้แล้ว ให้ restart Cursor ใหม่ทุกครั้ง

ข้อผิดพลาดที่ 4: "permission denied for table orders"

สาเหตุ: user postgres ไม่มีสิทธิ์เข้าถึงตาราง หรือ database ที่สร้างคนละ user ครับ

# ให้สิทธิ์ทั้งหมดกับ user postgres
psql -U postgres -d shop_demo

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO postgres;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO postgres;
GRANT USAGE ON SCHEMA public TO postgres;
\q

หรือถ้าสร้าง database ใหม่ ให้ระบุ owner ตั้งแต่ต้น

CREATE DATABASE shop_demo OWNER postgres;

ข้อผิดพลาดที่ 5: AI ตอบคำถามผิดเรื่อง schema ฐานข้อมูล

สาเหตุ: AI ที่ใช้อ่อนเกินไป หรือ context ไม่พอครับ แก้โดยเลือกโมเดลที่แข็งแกร่งกว่าผ่าน HolySheep

# ในไฟล์ mcp.json เพิ่ม default model hint

ตั้งค่าใน Cursor Settings → Models → Default Model

เลือก "claude-sonnet-4.5" หรือ "gpt-4.1"

ทดสอบ query schema ใน Composer:

ช่วยอธิบาย schema ของตาราง orders ทั้งหมด พร้อมบอก relationship

ถ้ายังตอบผิด ลองเพิ่ม hint ใน system prompt:

"ใช้ information_schema ในการตรวจสอบ schema ทุกครั้งก่อนเขียน query"

แหล่งข้อมูลที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง