Crescendo Lab เอกสาร ดีพลอย
ไทย
สมัครใช้งาน

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

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

อัปเดตล่าสุด
ดู Markdown เปิดใน Claude เปิดใน ChatGPT

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

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

prompt
ดีพลอยโฟลเดอร์นี้ไปที่ 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 (ดูด้านล่าง)

ในอินสแตนซ์เดียวมีฐานข้อมูลได้หลายรายการ เช่น โปรเจกต์ละหนึ่งรายการ ฐานข้อมูลแต่ละรายการอยู่ในสภาพแวดล้อมเดียว และโปรเจกต์เชื่อมได้เฉพาะฐานข้อมูลในสภาพแวดล้อมเดียวกัน

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

แพ็กเกจจำนวนฐานข้อมูลขนาดการกู้คืน ณ จุดเวลา
Free1Sไม่มี
Pro2S, Mไม่มี
Team10S–XLไม่มี
BusinessตามสัญญาS–XLส่วนเสริม
  • Free: ฐานข้อมูลไม่มีค่าใช้จ่าย แต่นับรวมในโควตาฟรี ต้องผูกบัตรก่อน (ไม่มีการเรียกเก็บเงิน) และจะหยุดเองเมื่อไม่มีการใช้งาน 7 วัน เริ่มใหม่ได้จากหน้าของฐานข้อมูล
  • แพ็กเกจแบบชำระเงิน: เริ่มคิดเงินทันทีที่สร้าง ฐานข้อมูลที่หยุดอยู่จ่ายเฉพาะพื้นที่จัดเก็บ ราคาอยู่ในหน้าราคา
  • เพราะมีค่าใช้จ่าย จึงมีเพียงเจ้าของและผู้ดูแลขององค์กรที่สร้างฐานข้อมูลได้

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

  1. เปิด ฐานข้อมูล แล้วเลือก สร้างฐานข้อมูล
  2. เลือก ประเภทฐานข้อมูล และ เวอร์ชัน ใส่ ชื่อ (ไม่เกิน 63 ตัวอักษร) เลือก ขนาดเครื่อง และ ภูมิภาค ที่ใกล้กับบริการที่จะเชื่อมต่อ รวมถึงพื้นที่จัดเก็บ
  3. ในการเข้ารหัส ให้คง อนุญาตเฉพาะการเชื่อมต่อ SSL ไว้ เว้นแต่มีเหตุผล (ความปลอดภัยของการเชื่อมต่อ)
  4. ในการเชื่อมต่อ ให้เพิ่มที่อยู่ IPv4 ที่จะเชื่อมต่อ หรือเปิด อนุญาตบริการที่ทำงานบน Agent Lab
  5. เลือก สร้างฐานข้อมูล

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

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

การเชื่อมต่อจะสร้างบัญชีฐานข้อมูลของโปรเจกต์เอง พร้อมรหัสผ่านที่ Agent Lab สร้างให้ แล้วเขียนข้อมูลการเชื่อมต่อลงในความลับของโปรเจกต์ ไม่มีใครเห็นรหัสผ่าน ทั้งคุณและเครื่องมือ 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 ของเซิร์ฟเวอร์) ตัวอย่างจะแสดงตัวแปรที่จะเขียนและตัวแปรที่จะถูกแทนที่ เมื่อคุณตกลง ระบบจะสร้างบัญชีและรีสตาร์ตโปรเจกต์

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

  • บัญชีของโปรเจกต์เป็นเจ้าของฐานข้อมูลของตัวเอง สร้างและแก้ไขตารางได้ 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 › เครื่องมือข้อมูลฐานข้อมูล

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

เพิ่มที่อยู่ 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 › การย้ายฐานข้อมูลเข้ามา

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

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

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

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

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