เพิ่มฐานข้อมูล PostgreSQL หรือ MySQL ให้โปรเจกต์
สร้างฐานข้อมูล PostgreSQL หรือ MySQL เฉพาะของคุณ เชื่อมกับโปรเจกต์ให้บัญชีของโปรเจกต์เป็นเจ้าของตาราง และสร้างตารางจาก Claude Code หรือ Codex ผ่าน MCP
วิธีที่เร็วที่สุด: ให้การดีพลอยสร้างให้#
ถ้าโค้ดอ่านตัวแปรการเชื่อมต่อฐานข้อมูล เช่น DATABASE_URL, POSTGRES_URL, MYSQL_URL หรือ DB_HOST กับ DB_PASSWORD และโปรเจกต์ยังไม่มีค่าของตัวแปรนั้น การดีพลอยจากเครื่องมือ AI หรือการอัปโหลดในคอนโซลจะสร้างฐานข้อมูลขนาด S และเชื่อมต่อให้ก่อนเริ่มบิลด์ โดยเป็น PostgreSQL หรือเป็น MySQL เมื่อโค้ดอ่านชื่อที่ขึ้นต้นด้วย MYSQL_ คุณแค่สั่งให้เครื่องมือ AI ดีพลอย
ดีพลอยโฟลเดอร์นี้ไปที่ Agent Lab โค้ดใช้ PostgreSQL ผ่าน DATABASE_URLกรณีที่สร้างและไม่สร้าง รวมถึงสิ่งที่เครื่องมือ AI เห็นระหว่างรอ ดูที่ฐานข้อมูลและแคชที่โค้ดต้องใช้ ส่วนที่เหลือของหน้านี้คือวิธีสร้างและจัดการฐานข้อมูลเอง
สิ่งที่คุณได้#
ฐานข้อมูลแต่ละรายการคืออินสแตนซ์ 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 (ดูด้านล่าง) |
ในอินสแตนซ์เดียวมีฐานข้อมูลได้หลายรายการ เช่น โปรเจกต์ละหนึ่งรายการ ฐานข้อมูลแต่ละรายการอยู่ในสภาพแวดล้อมเดียว และโปรเจกต์เชื่อมได้เฉพาะฐานข้อมูลในสภาพแวดล้อมเดียวกัน
สิ่งที่แต่ละแพ็กเกจรวม#
| แพ็กเกจ | จำนวนฐานข้อมูล | ขนาด | การกู้คืน ณ จุดเวลา |
|---|---|---|---|
| Free | 1 | S | ไม่มี |
| Pro | 2 | S, M | ไม่มี |
| Team | 10 | S–XL | ไม่มี |
| Business | ตามสัญญา | S–XL | ส่วนเสริม |
- Free: ฐานข้อมูลไม่มีค่าใช้จ่าย แต่นับรวมในโควตาฟรี ต้องผูกบัตรก่อน (ไม่มีการเรียกเก็บเงิน) และจะหยุดเองเมื่อไม่มีการใช้งาน 7 วัน เริ่มใหม่ได้จากหน้าของฐานข้อมูล
- แพ็กเกจแบบชำระเงิน: เริ่มคิดเงินทันทีที่สร้าง ฐานข้อมูลที่หยุดอยู่จ่ายเฉพาะพื้นที่จัดเก็บ ราคาอยู่ในหน้าราคา
- เพราะมีค่าใช้จ่าย จึงมีเพียงเจ้าของและผู้ดูแลขององค์กรที่สร้างฐานข้อมูลได้
สร้างฐานข้อมูล#
- เปิด ฐานข้อมูล แล้วเลือก สร้างฐานข้อมูล
- เลือก ประเภทฐานข้อมูล และ เวอร์ชัน ใส่ ชื่อ (ไม่เกิน 63 ตัวอักษร) เลือก ขนาดเครื่อง และ ภูมิภาค ที่ใกล้กับบริการที่จะเชื่อมต่อ รวมถึงพื้นที่จัดเก็บ
- ในการเข้ารหัส ให้คง อนุญาตเฉพาะการเชื่อมต่อ SSL ไว้ เว้นแต่มีเหตุผล (ความปลอดภัยของการเชื่อมต่อ)
- ในการเชื่อมต่อ ให้เพิ่มที่อยู่ IPv4 ที่จะเชื่อมต่อ หรือเปิด อนุญาตบริการที่ทำงานบน Agent Lab
- เลือก สร้างฐานข้อมูล
สร้างฐานข้อมูล PostgreSQL บน Agent Lab ชื่อ orders ขนาด S ในไต้หวัน ให้โปรเจกต์บน Agent Lab ของฉันเชื่อมต่อได้ผู้ช่วยจะเรียก databases_create แสดงตัวอย่างให้ดู และสร้างหลังจากคุณตกลงเท่านั้น เพราะเริ่มคิดเงินทันที ดูที่เครื่องมือ MCP › ฐานข้อมูล
การสร้างมักใช้เวลา 10–15 นาที MySQL ขนาด S อาจนานกว่านั้น
เชื่อมต่อโปรเจกต์#
การเชื่อมต่อจะสร้างบัญชีฐานข้อมูลของโปรเจกต์เอง พร้อมรหัสผ่านที่ Agent Lab สร้างให้ แล้วเขียนข้อมูลการเชื่อมต่อลงในความลับของโปรเจกต์ ไม่มีใครเห็นรหัสผ่าน ทั้งคุณและเครื่องมือ AI
เชื่อมโปรเจกต์ orders-api กับฐานข้อมูล orders อ่านโค้ดก่อนว่าใช้ตัวแปรอะไรผู้ช่วยจะดูว่าโค้ดอ่านตัวแปรอะไร แล้วเรียก databases_connect_app พร้อมชื่อตัวแปรแต่ละตัวและส่วนของการเชื่อมต่อที่ตัวแปรนั้นเก็บ
{
"database": "orders",
"site": "<id โปรเจกต์จาก sites_list>",
"variables": { "DATABASE_URL": "url" }
}ส่วนอื่นได้แก่ jdbcUrl, host, port, hostPort, database, user, password, sslmode และ ca (CA ของเซิร์ฟเวอร์) ตัวอย่างจะแสดงตัวแปรที่จะเขียนและตัวแปรที่จะถูกแทนที่ เมื่อคุณตกลง ระบบจะสร้างบัญชีและรีสตาร์ตโปรเจกต์
- ในแท็บ ผู้ใช้และฐานข้อมูล ของฐานข้อมูล ให้สร้างฐานข้อมูลและผู้ใช้สำหรับโปรเจกต์ ถ้าโปรเจกต์สร้างตารางเอง ให้เลือก เจ้าของ: ควบคุมฐานข้อมูลได้ทั้งหมด รหัสผ่านแสดงเพียงครั้งเดียว ให้คัดลอกไว้
- ในแท็บ ภาพรวม ของฐานข้อมูล ให้คัดลอกสตริงการเชื่อมต่อ แล้วใส่ผู้ใช้ รหัสผ่าน และชื่อฐานข้อมูล
- เพิ่มเป็นความลับของโปรเจกต์ เช่น
DATABASE_URLแล้วรีสตาร์ตโปรเจกต์ ดูที่การตั้งค่าโปรเจกต์
สิ่งที่เกิดขึ้นเมื่อเชื่อมต่อ:
- บัญชีของโปรเจกต์เป็นเจ้าของฐานข้อมูลของตัวเอง สร้างและแก้ไขตารางได้ 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
ในฐานข้อมูล 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 › เครื่องมือข้อมูลฐานข้อมูล
เชื่อมต่อจากคอมพิวเตอร์ของคุณหรือโฮสต์อื่น#
เพิ่มที่อยู่ IPv4 ของคุณใน เครือข่ายที่ได้รับอนุญาต ในแท็บ การตั้งค่า ของฐานข้อมูล แล้วเชื่อมต่อกับที่อยู่ในแท็บ ภาพรวม ด้วยผู้ใช้จาก ผู้ใช้และฐานข้อมูล ดาวน์โหลด server-ca.pem จากแท็บ ใบรับรอง
psql "host=<address> port=5432 dbname=orders user=<user> sslmode=verify-ca sslrootcert=server-ca.pem"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 การเพิกถอนใบรับรองจะตัดการเชื่อมต่อปัจจุบันทั้งหมด และไคลเอนต์ที่มีใบรับรองที่ใช้ได้จะเชื่อมต่อใหม่เอง
เมื่อใช้ใบรับรอง ให้เพิ่มลงในการเชื่อมต่อ
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 › การย้ายฐานข้อมูลเข้ามา
หยุด เริ่ม และลบ#
- หยุด จะเก็บข้อมูลและที่อยู่ไว้ การเชื่อมต่อทั้งหมดจะหลุด บนแพ็กเกจแบบชำระเงินยังคิดค่าพื้นที่จัดเก็บ เริ่ม จะกลับมาที่ที่อยู่เดิมภายในไม่กี่นาที
- ลบฐานข้อมูล ต้องพิมพ์ชื่อเพื่อยืนยัน เลือก สร้างข้อมูลสำรองครั้งสุดท้ายก่อนลบ เพื่อเก็บข้อมูลสำรองชุดสุดท้าย ฐานข้อมูลที่หยุดอยู่จะถูกเริ่มก่อนเพื่อทำข้อมูลสำรองนี้
- จากเครื่องมือ AI:
databases_stopและdatabases_start
กู้คืนไปยังจุดเวลา#
ในแพ็กเกจ Business ให้เปิด การกู้คืน ณ จุดเวลา (PITR) ใน การตั้งค่า ของฐานข้อมูล จากนั้นใช้ กู้คืนไปยังจุดเวลา เพื่อเลือกเวลาใดก็ได้ใน 7 วันที่ผ่านมา หลังจากที่เปิดใช้งาน
- การกู้คืนจะสร้างฐานข้อมูลใหม่ที่มีข้อมูล ณ เวลานั้น ฐานข้อมูลเดิมไม่เปลี่ยน ฐานข้อมูลใหม่นับรวมในแพ็กเกจและคิดเงินแยก และเริ่มต้นโดยปิดการกู้คืน ณ จุดเวลา
- บน MySQL การเปิดหรือปิดการกู้คืน ณ จุดเวลาจะรีสตาร์ตฐานข้อมูล การเชื่อมต่อจะหลุดหลายนาที สูงสุดประมาณ 20 นาทีบนขนาด S
- มีเพียงเจ้าของและผู้ดูแลที่เริ่มการกู้คืนได้