---
title: เพิ่มฐานข้อมูล PostgreSQL หรือ MySQL ให้โปรเจกต์
description: สร้างฐานข้อมูล PostgreSQL หรือ MySQL เฉพาะของคุณ เชื่อมกับโปรเจกต์ให้บัญชีของโปรเจกต์เป็นเจ้าของตาราง และสร้างตารางจาก Claude Code หรือ Codex ผ่าน MCP
url: https://agentlab.cresclab.com/docs/th/deploy/databases
language: th
updated: 2026-10-28
---

# เพิ่มฐานข้อมูล PostgreSQL หรือ MySQL ให้โปรเจกต์

สร้างฐานข้อมูล PostgreSQL หรือ MySQL เฉพาะของคุณ เชื่อมกับโปรเจกต์ให้บัญชีของโปรเจกต์เป็นเจ้าของตาราง และสร้างตารางจาก Claude Code หรือ Codex ผ่าน MCP

## วิธีที่เร็วที่สุด: ให้การดีพลอยสร้างให้

ถ้าโค้ดอ่านตัวแปรการเชื่อมต่อฐานข้อมูล เช่น `DATABASE_URL`, `POSTGRES_URL`, `MYSQL_URL` หรือ `DB_HOST` กับ `DB_PASSWORD` และโปรเจกต์ยังไม่มีค่าของตัวแปรนั้น การดีพลอยจากเครื่องมือ AI หรือการอัปโหลดในคอนโซลจะสร้างฐานข้อมูลขนาด S และเชื่อมต่อให้ก่อนเริ่มบิลด์ โดยเป็น PostgreSQL หรือเป็น MySQL เมื่อโค้ดอ่านชื่อที่ขึ้นต้นด้วย `MYSQL_` คุณแค่สั่งให้เครื่องมือ AI ดีพลอย

```prompt
ดีพลอยโฟลเดอร์นี้ไปที่ Agent Lab โค้ดใช้ PostgreSQL ผ่าน DATABASE_URL
```

กรณีที่สร้างและไม่สร้าง รวมถึงสิ่งที่เครื่องมือ AI เห็นระหว่างรอ ดูที่[ฐานข้อมูลและแคชที่โค้ดต้องใช้](https://agentlab.cresclab.com/docs/th/deploy/mcp-tools.md#auto-provision) ส่วนที่เหลือของหน้านี้คือวิธีสร้างและจัดการฐานข้อมูลเอง

## สิ่งที่คุณได้

ฐานข้อมูลแต่ละรายการคืออินสแตนซ์ Google Cloud SQL เฉพาะ มีที่อยู่สาธารณะของตัวเอง และไม่ใช้ร่วมกับองค์กรอื่น

| รายการ         | ตัวเลือก                                                                                                                                              |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| ประเภท         | PostgreSQL 18 (ค่าเริ่มต้น), 17 หรือ 16 และ MySQL 8.4 หรือ 9.7 ในกรณีที่คอนโซลแสดง เปลี่ยนไม่ได้หลังสร้าง                                             |
| ขนาด           | S: คอร์ร่วม หน่วยความจำ 0.6 GB สำหรับพัฒนาและทดสอบเท่านั้น ไม่มี SLA M: 1 vCPU, 3.75 GB L: 2 vCPU, 8 GB XL: 4 vCPU, 16 GB                             |
| ภูมิภาค        | ไต้หวัน (`asia-east1`) ญี่ปุ่น (`asia-northeast1`) สหรัฐอเมริกา (`us-central1`) หรือยุโรป (`europe-west1`) เปลี่ยนไม่ได้หลังสร้าง                     |
| พื้นที่จัดเก็บ | อย่างน้อย 10 GB เพิ่มได้ (ตั้งให้เพิ่มอัตโนมัติก็ได้) แต่ลดไม่ได้                                                                                     |
| การสำรองข้อมูล | สำรองอัตโนมัติ การกู้คืน ณ จุดเวลาย้อนหลัง 7 วันเป็นส่วนเสริมของ Business ([ดูด้านล่าง](https://agentlab.cresclab.com/docs/th/deploy/databases.md#pitr)) |

ในอินสแตนซ์เดียวมีฐานข้อมูลได้หลายรายการ เช่น โปรเจกต์ละหนึ่งรายการ ฐานข้อมูลแต่ละรายการอยู่ใน[สภาพแวดล้อม](https://agentlab.cresclab.com/docs/th/deploy/glossary.md)เดียว และโปรเจกต์เชื่อมได้เฉพาะฐานข้อมูลในสภาพแวดล้อมเดียวกัน

## สิ่งที่แต่ละแพ็กเกจรวม

| แพ็กเกจ  | จำนวนฐานข้อมูล | ขนาด | การกู้คืน ณ จุดเวลา |
| -------- | -------------- | ---- | ------------------- |
| Free     | 1              | S    | ไม่มี               |
| Pro      | 2              | S, M | ไม่มี               |
| Team     | 10             | S–XL | ไม่มี               |
| Business | ตามสัญญา       | S–XL | ส่วนเสริม           |

- **Free:** ฐานข้อมูลไม่มีค่าใช้จ่าย แต่นับรวมในโควตาฟรี ต้องผูกบัตรก่อน (ไม่มีการเรียกเก็บเงิน) และจะหยุดเองเมื่อไม่มีการใช้งาน 7 วัน เริ่มใหม่ได้จากหน้าของฐานข้อมูล
- **แพ็กเกจแบบชำระเงิน:** เริ่มคิดเงินทันทีที่สร้าง ฐานข้อมูลที่หยุดอยู่จ่ายเฉพาะพื้นที่จัดเก็บ ราคาอยู่ใน[หน้าราคา](https://agentlab.cresclab.com/en/deploy#pricing)
- เพราะมีค่าใช้จ่าย จึงมีเพียงเจ้าของและผู้ดูแลขององค์กรที่สร้างฐานข้อมูลได้

## สร้างฐานข้อมูล

**คอนโซล**

1. เปิด **ฐานข้อมูล** แล้วเลือก **สร้างฐานข้อมูล**
2. เลือก **ประเภทฐานข้อมูล** และ **เวอร์ชัน** ใส่ **ชื่อ** (ไม่เกิน 63 ตัวอักษร) เลือก **ขนาดเครื่อง** และ **ภูมิภาค** ที่ใกล้กับบริการที่จะเชื่อมต่อ รวมถึงพื้นที่จัดเก็บ
3. ในการเข้ารหัส ให้คง **อนุญาตเฉพาะการเชื่อมต่อ SSL** ไว้ เว้นแต่มีเหตุผล ([ความปลอดภัยของการเชื่อมต่อ](https://agentlab.cresclab.com/docs/th/deploy/databases.md#security))
4. ในการเชื่อมต่อ ให้เพิ่มที่อยู่ IPv4 ที่จะเชื่อมต่อ หรือเปิด **อนุญาตบริการที่ทำงานบน Agent Lab**
5. เลือก **สร้างฐานข้อมูล**

**เครื่องมือ AI**

```prompt
สร้างฐานข้อมูล PostgreSQL บน Agent Lab ชื่อ orders ขนาด S ในไต้หวัน ให้โปรเจกต์บน Agent Lab ของฉันเชื่อมต่อได้
```

ผู้ช่วยจะเรียก `databases_create` แสดงตัวอย่างให้ดู และสร้างหลังจากคุณตกลงเท่านั้น เพราะเริ่มคิดเงินทันที ดูที่[เครื่องมือ MCP › ฐานข้อมูล](https://agentlab.cresclab.com/docs/th/deploy/mcp-tools.md#databases)

การสร้างมักใช้เวลา 10–15 นาที MySQL ขนาด S อาจนานกว่านั้น

## เชื่อมต่อโปรเจกต์

การเชื่อมต่อจะสร้างบัญชีฐานข้อมูลของโปรเจกต์เอง พร้อมรหัสผ่านที่ Agent Lab สร้างให้ แล้วเขียนข้อมูลการเชื่อมต่อลงในความลับของโปรเจกต์ ไม่มีใครเห็นรหัสผ่าน ทั้งคุณและเครื่องมือ AI

**เครื่องมือ AI**

```prompt
เชื่อมโปรเจกต์ orders-api กับฐานข้อมูล orders อ่านโค้ดก่อนว่าใช้ตัวแปรอะไร
```

ผู้ช่วยจะดูว่าโค้ดอ่านตัวแปรอะไร แล้วเรียก `databases_connect_app` พร้อมชื่อตัวแปรแต่ละตัวและส่วนของการเชื่อมต่อที่ตัวแปรนั้นเก็บ

```json
{
  "database": "orders",
  "site": "<id โปรเจกต์จาก sites_list>",
  "variables": { "DATABASE_URL": "url" }
}
```

ส่วนอื่นได้แก่ `jdbcUrl`, `host`, `port`, `hostPort`, `database`, `user`, `password`, `sslmode` และ `ca` (CA ของเซิร์ฟเวอร์) ตัวอย่างจะแสดงตัวแปรที่จะเขียนและตัวแปรที่จะถูกแทนที่ เมื่อคุณตกลง ระบบจะสร้างบัญชีและรีสตาร์ตโปรเจกต์

**คอนโซล**

1. ในแท็บ **ผู้ใช้และฐานข้อมูล** ของฐานข้อมูล ให้สร้างฐานข้อมูลและผู้ใช้สำหรับโปรเจกต์ ถ้าโปรเจกต์สร้างตารางเอง ให้เลือก **เจ้าของ: ควบคุมฐานข้อมูลได้ทั้งหมด** รหัสผ่านแสดงเพียงครั้งเดียว ให้คัดลอกไว้
2. ในแท็บ **ภาพรวม** ของฐานข้อมูล ให้คัดลอกสตริงการเชื่อมต่อ แล้วใส่ผู้ใช้ รหัสผ่าน และชื่อฐานข้อมูล
3. เพิ่มเป็นความลับของโปรเจกต์ เช่น `DATABASE_URL` แล้วรีสตาร์ตโปรเจกต์ ดูที่[การตั้งค่าโปรเจกต์](https://agentlab.cresclab.com/docs/th/deploy/app-settings.md#secrets)

สิ่งที่เกิดขึ้นเมื่อเชื่อมต่อ:

- **บัญชีของโปรเจกต์เป็นเจ้าของฐานข้อมูลของตัวเอง** สร้างและแก้ไขตารางได้ migration ที่ ORM รันตอนเริ่มทำงาน (Prisma, Drizzle, Django, Rails, Laravel, TypeORM ฯลฯ) จึงทำงานได้ บัญชีนี้เข้าถึงฐานข้อมูลอื่นในอินสแตนซ์เดียวกันไม่ได้ และสร้างบัญชีหรือฐานข้อมูลไม่ได้ ถ้าโปรเจกต์ต้องการสิทธิ์น้อยกว่านี้ ให้ขอ `write` (อ่านและเขียนข้อมูล ไม่เปลี่ยนโครงสร้าง) หรือ `read`
- **ถ้าโปรเจกต์ยังไม่มีฐานข้อมูล ระบบจะสร้างในอินสแตนซ์ให้** โดยตั้งชื่อตามป้ายกำกับที่อยู่ของโปรเจกต์ และเปลี่ยนขีดกลางเป็นขีดล่าง หรือจะตั้งชื่อเองก็ได้: ขึ้นต้นด้วยอักษรอังกฤษตัวเล็ก ใช้ได้เฉพาะอักษรอังกฤษตัวเล็ก ตัวเลข และขีดล่าง ไม่เกิน 50 ตัวอักษรบน PostgreSQL และ 64 บน MySQL
- **อนุญาตบริการที่ทำงานบน Agent Lab** จะถูกเปิด ถ้ายังไม่ได้เปิด
- **การเข้ารหัส:** ส่วน `url` บน PostgreSQL ใช้ `sslmode=require` บน MySQL จะไม่มีการตั้งค่า TLS เพราะแต่ละไดรเวอร์เขียนต่างกัน ให้เปิด TLS ในไดรเวอร์ของคุณ
- ฐานข้อมูลที่ต้องใช้ใบรับรองไคลเอนต์ยังเชื่อมด้วยวิธีนี้ไม่ได้ ให้เชื่อมโปรเจกต์เอง หรือเปลี่ยนการเข้ารหัสเป็น **อนุญาตเฉพาะการเชื่อมต่อ SSL**

หากต้องการยกเลิก `databases_disconnect_app` จะลบบัญชีและตัวแปรที่เขียนไว้ ข้อมูลยังอยู่ `databases_rotate_app_password` จะเปลี่ยนรหัสผ่านใหม่ให้โปรเจกต์และรีสตาร์ต

## สร้างตารางและค้นข้อมูลจากเครื่องมือ AI

จาก Claude Code, Codex หรือไคลเอนต์ MCP อื่นที่เชื่อมกับ Agent Lab คุณไม่ต้องใช้รหัสผ่านฐานข้อมูลหรือไคลเอนต์ SQL

```prompt
ในฐานข้อมูล orders สร้างตาราง notes ที่มี id, body และเวลา created_at แล้วแสดงรายการตาราง
```

- `list_tables` แสดงตาราง `apply_migration` รัน migration ที่มีชื่อ (บน PostgreSQL เป็นทรานแซกชันเดียว บน MySQL รันทีละคำสั่ง) และ `execute_sql` รันคิวรีหนึ่งคำสั่ง ผู้ช่วยจะแสดง SQL ให้ดูก่อนรัน
- ทุก migration ถูกบันทึกชื่อและ SQL ไว้ในตาราง `agentlab_data_control.migrations` ของฐานข้อมูลนั้น
- เจ้าของ ผู้ดูแล ผู้สร้างฐานข้อมูล และผู้ดูแลฐานข้อมูลเขียนได้อยู่แล้ว สมาชิกคนอื่นต้องได้รับ **Reader (อ่าน)** หรือ **Writer (อ่านและเขียน)** ใน **สิทธิ์ข้อมูล** ของฐานข้อมูล หรือผ่าน `databases_grant`

อาร์กิวเมนต์ ขีดจำกัด และตัวอย่าง ดูที่[เครื่องมือ MCP › เครื่องมือข้อมูลฐานข้อมูล](https://agentlab.cresclab.com/docs/th/deploy/mcp-tools.md#database-data)

## เชื่อมต่อจากคอมพิวเตอร์ของคุณหรือโฮสต์อื่น

เพิ่มที่อยู่ IPv4 ของคุณใน **เครือข่ายที่ได้รับอนุญาต** ในแท็บ **การตั้งค่า** ของฐานข้อมูล แล้วเชื่อมต่อกับที่อยู่ในแท็บ **ภาพรวม** ด้วยผู้ใช้จาก **ผู้ใช้และฐานข้อมูล** ดาวน์โหลด `server-ca.pem` จากแท็บ **ใบรับรอง**

```sh
psql "host=<address> port=5432 dbname=orders user=<user> sslmode=verify-ca sslrootcert=server-ca.pem"
```

```sh
mysql --host=<address> --port=3306 --user=<user> --password \
  --ssl-mode=VERIFY_CA --ssl-ca=server-ca.pem orders
```

ใช้ `verify-ca` (PostgreSQL) หรือ `VERIFY_CA` (MySQL) เพราะ `verify-full` และ `VERIFY_IDENTITY` ใช้กับที่อยู่ IP ไม่ได้ MySQL 9.7 รับเฉพาะ `caching_sha2_password` จึงต้องใช้ไคลเอนต์ MySQL 8.0 ขึ้นไป Connector/J 8.0 ขึ้นไป หรือ PHP 7.4 ขึ้นไป แท็บ **ภาพรวม** มีตัวอย่างสำหรับ Node.js, Python, Go, Java และ PHP

## ความปลอดภัยของการเชื่อมต่อ

| การตั้งค่า                                          | ผล                                                                                             |
| --------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| **เครือข่ายที่ได้รับอนุญาต**                        | ที่อยู่ IPv4 สาธารณะหรือช่วง CIDR ที่เชื่อมต่อได้ สูงสุด 20 รายการ ที่อื่นเชื่อมไม่ได้         |
| **อนุญาตบริการที่ทำงานบน Agent Lab**                | เพิ่มที่อยู่ขาออกของ Agent Lab ซึ่งบริการของทุกองค์กรใช้ร่วมกัน สิ่งที่กันคนอื่นออกคือรหัสผ่าน |
| **อนุญาตทุก IP (0.0.0.0/0)**                        | ทุกคนบนอินเทอร์เน็ตลองเชื่อมต่อได้                                                             |
| **อนุญาตเฉพาะการเชื่อมต่อ SSL**                     | ค่าเริ่มต้นและค่าที่แนะนำ ทุกการเชื่อมต่อใช้ TLS                                               |
| **ต้องใช้ใบรับรองไคลเอนต์ที่เชื่อถือได้**           | นอกจากรหัสผ่าน ทุกการเชื่อมต่อต้องแสดงใบรับรองไคลเอนต์ที่ออกในแท็บ **ใบรับรอง**                |
| **อนุญาตการรับส่งข้อมูลเครือข่ายที่ไม่ได้เข้ารหัส** | ไคลเอนต์เชื่อมต่อโดยไม่ใช้ TLS ได้ ไม่แนะนำ                                                    |

ใบรับรองไคลเอนต์ออกได้ที่แท็บ **ใบรับรอง** ด้วย **ออกใบรับรอง** คีย์ส่วนตัวแสดงเพียงครั้งเดียว ให้ดาวน์โหลด `client-key.pem` ก่อนปิดหน้าต่าง เวลาเปลี่ยนใบรับรอง ให้ออกใบใหม่ก่อนแล้วจึงเพิกถอนใบเก่า ไคลเอนต์จะสลับได้โดยไม่หยุดทำงาน บน MySQL การเพิกถอนใบรับรองจะตัดการเชื่อมต่อปัจจุบันทั้งหมด และไคลเอนต์ที่มีใบรับรองที่ใช้ได้จะเชื่อมต่อใหม่เอง

เมื่อใช้ใบรับรอง ให้เพิ่มลงในการเชื่อมต่อ

```sh
psql "host=<address> port=5432 dbname=orders user=<user> sslmode=verify-ca sslrootcert=server-ca.pem sslcert=client-cert.pem sslkey=client-key.pem"
```

ฐานข้อมูล MySQL ที่ต้องใช้ใบรับรองจะตอบ `Access denied` เมื่อไม่มีใบรับรอง เหมือนรหัสผ่านผิดทุกประการ ให้ตรวจใบรับรองก่อน

**ประวัติการเชื่อมต่อ** ของฐานข้อมูลแสดงว่าใครเชื่อมต่อใน 30 วันที่ผ่านมา จากที่อยู่ไหน และเหตุผลที่การลงชื่อเข้าใช้ล้มเหลว `databases_connections` ตอบข้อมูลเดียวกัน

## ย้ายฐานข้อมูลที่มีอยู่เข้ามา

สร้างไฟล์ dump ด้วย `pg_dump` หรือ `mysqldump` แล้วใช้ **นำเข้าข้อมูล** ที่แถวของฐานข้อมูล หรือสั่งเครื่องมือ AI ซึ่งจะใช้ `databases_import` Agent Lab ตรวจทุกคำสั่งก่อนรัน และแสดงคำสั่งที่ไม่รับพร้อมหมายเลขบรรทัด คำสั่ง dump และสิ่งที่ถูกข้าม ดูที่[เครื่องมือ MCP › การย้ายฐานข้อมูลเข้ามา](https://agentlab.cresclab.com/docs/th/deploy/mcp-tools.md#import)

## หยุด เริ่ม และลบ

- **หยุด** จะเก็บข้อมูลและที่อยู่ไว้ การเชื่อมต่อทั้งหมดจะหลุด บนแพ็กเกจแบบชำระเงินยังคิดค่าพื้นที่จัดเก็บ **เริ่ม** จะกลับมาที่ที่อยู่เดิมภายในไม่กี่นาที
- **ลบฐานข้อมูล** ต้องพิมพ์ชื่อเพื่อยืนยัน เลือก **สร้างข้อมูลสำรองครั้งสุดท้ายก่อนลบ** เพื่อเก็บข้อมูลสำรองชุดสุดท้าย ฐานข้อมูลที่หยุดอยู่จะถูกเริ่มก่อนเพื่อทำข้อมูลสำรองนี้
- จากเครื่องมือ AI: `databases_stop` และ `databases_start`

## กู้คืนไปยังจุดเวลา

ในแพ็กเกจ Business ให้เปิด **การกู้คืน ณ จุดเวลา (PITR)** ใน **การตั้งค่า** ของฐานข้อมูล จากนั้นใช้ **กู้คืนไปยังจุดเวลา** เพื่อเลือกเวลาใดก็ได้ใน 7 วันที่ผ่านมา หลังจากที่เปิดใช้งาน

- การกู้คืนจะสร้างฐานข้อมูล**ใหม่**ที่มีข้อมูล ณ เวลานั้น ฐานข้อมูลเดิมไม่เปลี่ยน ฐานข้อมูลใหม่นับรวมในแพ็กเกจและคิดเงินแยก และเริ่มต้นโดยปิดการกู้คืน ณ จุดเวลา
- บน MySQL การเปิดหรือปิดการกู้คืน ณ จุดเวลาจะรีสตาร์ตฐานข้อมูล การเชื่อมต่อจะหลุดหลายนาที สูงสุดประมาณ 20 นาทีบนขนาด S
- มีเพียงเจ้าของและผู้ดูแลที่เริ่มการกู้คืนได้
