เกี่ยวกับ
Managed Database อยู่ในเครือข่ายส่วนตัว (VPC) ของ Project แอปใน Project เดียวกันเข้าถึงได้ที่ที่อยู่ภายใน ถ้าจะเชื่อมจากเครื่องของคุณ ให้เปิด public TLS endpoint และอนุญาต IP ของคุณก่อน ถ้ารายการที่อนุญาตว่าง จะไม่มีใครเชื่อมต่อจากภายนอกได้
- Database คิดค่าบริการรายชั่วโมงจาก Wallet ของ Project
th database sizesแสดงขนาดที่ใช้กับ--sizeได้ th database connectเปิดไคลเอนต์ของ engine นั้น (psql, mysql หรือ mariadb) โดยส่งข้อมูลเข้าสู่ระบบผ่านตัวแปรสภาพแวดล้อม ไม่ใส่ใน command line ต้องติดตั้งไคลเอนต์ไว้บนเครื่องของคุณ- Backup (ทั้งแบบสั่งเองและอัตโนมัติ) คิดค่าบริการตาม GB ที่เก็บ พื้นที่จัดเก็บเพิ่มได้อย่างเดียว ลดไม่ได้
อ่านเพิ่มในศูนย์ช่วยเหลือ: Database ทำงานอย่างไร
คู่มือการใช้งาน
สร้าง Database
th database engines
th database sizes
th database create app-db --engine postgres --size <size-id> --storage 20GB --backupsไม่ใส่ --version เพื่อใช้เวอร์ชันที่แนะนำ แทนที่จะใช้ --size จะระบุ --cpu และ --memory ก็ได้
เชื่อมต่อจากเครื่องของคุณ
- หา IP สาธารณะของคุณ (เช่น จากเราเตอร์หรือเว็บ “what is my IP”)
- เปิด public endpoint ให้เฉพาะที่อยู่นั้น:
th database public app-db --enable --allow 203.0.113.7/32 - รัน
th database connect app-dbpsql (หรือ mysql) จะเปิดขึ้นและเชื่อมต่อผ่าน TLS
th database public app-db --enable --allow 203.0.113.7/32
th database connect app-db
th database connect app-db -- -c "select now()"อาร์กิวเมนต์หลัง -- จะส่งต่อให้ไคลเอนต์ สำหรับการตั้งค่าของแอป th database credentials app-db แสดงชื่อผู้ใช้ รหัสผ่าน และ URL สำหรับเชื่อมต่อ
IP ของอินเทอร์เน็ตบ้านและมือถือเปลี่ยนได้ ถ้าเชื่อมต่อไม่ได้ ให้รัน th database public อีกครั้งด้วยที่อยู่ใหม่ (--allow จะแทนที่รายการเดิม)
สำรองและกู้คืนข้อมูล
th database backups create app-db
th database backups list app-db
th database backups restore app-db <backup-id>
th database backup-policy app-db --enable --hours 24 --window 2 --keep 7การกู้คืนจะแทนที่ข้อมูลของ Database ด้วยข้อมูลใน Backup ถ้าอาจต้องใช้ข้อมูลของวันนี้ ให้สำรองข้อมูลใหม่ก่อน
คำสั่ง
| คำสั่ง | คำอธิบาย |
|---|---|
th database create | สร้าง Managed Database |
th database list | แสดง Managed Database ของ Project ปัจจุบัน |
th database describe | แสดง engine ขนาด สถานะ และที่อยู่ของ Database |
th database engines | แสดง engine และเวอร์ชันที่ Database ใหม่ใช้ได้ |
th database sizes | แสดงขนาดสำหรับ --size |
th database connect | เปิดไคลเอนต์ของ engine นั้น (psql, mysql/mariadb, redis-cli/valkey-cli) โดยส่งข้อมูลเข้าสู่ระบบผ่านตัวแปรสภาพแวดล้อม ไม่ใส่ใน command line |
th database credentials | แสดงชื่อผู้ใช้ รหัสผ่าน และ URL สำหรับเชื่อมต่อ Database |
th database public | เปิดหรือปิด public TLS endpoint |
th database resize | เปลี่ยนขนาดของ Database |
th database stop | หยุด Database |
th database start | เริ่ม Database ที่หยุดอยู่ |
th database backups create | เริ่มสำรองข้อมูลแบบสั่งเอง |
th database backups list | แสดง Backup ของ Database เรียงจากใหม่ไปเก่า พร้อมนโยบายการสำรองข้อมูล |
th database backups restore | แทนที่ข้อมูลของ Database ด้วย Backup (ระบุด้วย ID หรือชื่อ) |
th database backups delete | ลบ Backup (ระบุด้วย ID หรือชื่อ) |
th database backup-policy | ดูหรือเปลี่ยนการสำรองข้อมูลอัตโนมัติ |
th database replicas create | สร้าง read replica ของ Database NAME โดยค่าเริ่มต้นมีขนาดเท่ากัน |
th database replicas list | แสดง read replica ของ Database (หรือของ primary ของ replica) |
th database replicas promote | หยุดการ replicate และทำให้ replica เป็น Database ที่เขียนได้ของตัวเอง |
th database delete | ลบ Database และข้อมูลทั้งหมด |
th database create
สร้าง Managed Database
ไวยากรณ์
th database create NAME --engine postgres|mysql|mariadb [--version V] [--region R] [--size ID | --cpu N --memory M] [--storage 10GB] [--disk ssd|hdd] [--public --allow CIDR,...] [--backups --backup-hours N --backup-window H --backup-keep N]คิดค่าบริการรายชั่วโมงจาก Wallet ของ Project ดูขนาดได้ด้วย th database sizes
ตัวอย่าง
Database PostgreSQL เวอร์ชันที่แนะนำ
th database create app-db --engine postgresMySQL ขนาดที่กำหนดเอง
th database create shop --engine mysql --cpu 1 --memory 2Gi --storage 20GB --disk ssdเปิดให้ที่อยู่เดียว พร้อมสำรองข้อมูลอัตโนมัติ
th database create app-db --engine postgres --public --allow 203.0.113.7/32 --backupsอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
--engineจำเป็น | ข้อความ | Engine: postgres|mysql|mariadb (หรือ engine ID จาก th database engines) | |
--version | ข้อความ | the recommended one | เวอร์ชันของ engine (ค่าเริ่มต้น: เวอร์ชันที่แนะนำ) |
--size | ข้อความ | Size ID จาก th database sizes | |
--cpu | ข้อความ | vCPU เช่น 0.5, 1, 2 | |
--memory | ข้อความ | หน่วยความจำ เช่น 512Mi, 1Gi, 4Gi | |
--storage | ข้อความ | 10GB; grows later, never shrinks | พื้นที่จัดเก็บ เช่น 10GB (ค่าเริ่มต้น 10GB เพิ่มภายหลังได้ ลดไม่ได้) |
--disk | ข้อความ | ชนิดดิสก์: ssd หรือ hdd | |
--public | แฟล็ก | เปิด public TLS endpoint (เชื่อมต่อได้เฉพาะที่อยู่ใน --allow) | |
--allow | รายการ | ที่อยู่ที่อนุญาตบน public endpoint เช่น 203.0.113.10/32 (ระบุซ้ำได้ คั่นด้วยจุลภาคได้) | |
--bandwidth | ตัวเลข | bandwidth ของ public endpoint เป็น Mbps (1–1000 ค่าเริ่มต้น 10) | |
--backups | แฟล็ก | เปิดการสำรองข้อมูลอัตโนมัติ (คิดค่าบริการตาม GB ที่เก็บ) | |
--backup-hours | ตัวเลข | สำรองทุก N ชั่วโมง: 6, 12, 24 (ค่าเริ่มต้น) หรือ 168 | |
--backup-window | ตัวเลข | 2 | ชั่วโมงที่เริ่มสำรอง 0–23 เวลา Asia/Bangkok |
--backup-keep | ตัวเลข | 7 | จำนวน Backup อัตโนมัติที่เก็บไว้ 1–90 |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database list
แสดง Managed Database ของ Project ปัจจุบัน
ไวยากรณ์
th database listตัวอย่าง
ดูรายการ Database
th database listพารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database describe
แสดง engine ขนาด สถานะ และที่อยู่ของ Database
ไวยากรณ์
th database describe NAMEตัวอย่าง
engine ขนาด สถานะ และที่อยู่
th database describe app-dbอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database engines
แสดง engine และเวอร์ชันที่ Database ใหม่ใช้ได้
ไวยากรณ์
th database enginesตัวอย่าง
engine และเวอร์ชัน
th database enginesพารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database sizes
แสดงขนาดสำหรับ --size
ไวยากรณ์
th database sizesตัวอย่าง
ขนาดสำหรับ --size
th database sizesพารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database connect
เปิดไคลเอนต์ของ engine นั้น (psql, mysql/mariadb, redis-cli/valkey-cli) โดยส่งข้อมูลเข้าสู่ระบบผ่านตัวแปรสภาพแวดล้อม ไม่ใส่ใน command line
ไวยากรณ์
th database connect NAME [--public | --private] [-- CLIENT-ARGS...]โดยค่าเริ่มต้นจะใช้ public TLS endpoint ซึ่งต้องเปิดไว้และอนุญาตที่อยู่ของคุณ --private ใช้ที่อยู่ภายใน ซึ่งเข้าถึงได้เฉพาะจากใน VPC ของ Project อาร์กิวเมนต์หลัง -- จะส่งต่อให้ไคลเอนต์
ตัวอย่าง
เปิด psql หรือ mysql ผ่าน public endpoint
th database connect app-dbจากภายใน VPC ของ Project
th database connect app-db --privateส่งอาร์กิวเมนต์ให้ไคลเอนต์
th database connect app-db -- -c "select now()"อาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
CLIENT-ARGS…ไม่บังคับ | อาร์กิวเมนต์ที่ส่งต่อให้ไคลเอนต์หลัง -- |
พารามิเตอร์
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
--public | แฟล็ก | ใช้ public TLS endpoint (ค่าเริ่มต้น) | |
--private | แฟล็ก | ใช้ที่อยู่ภายใน (เฉพาะใน VPC) |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database credentials
แสดงชื่อผู้ใช้ รหัสผ่าน และ URL สำหรับเชื่อมต่อ Database
ไวยากรณ์
th database credentials NAME [--format json]รหัสผ่านแสดงเฉพาะสมาชิกที่มีสิทธิ์ดูแล Database นั้น
ตัวอย่าง
ชื่อผู้ใช้ รหัสผ่าน และ URL
th database credentials app-dbแสดงเป็น JSON
th database credentials app-db --format jsonอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database public
เปิดหรือปิด public TLS endpoint
ไวยากรณ์
th database public NAME --enable|--disable [--allow CIDR,...] [--bandwidth MBPS]เชื่อมต่อได้เฉพาะที่อยู่ใน --allow (รายการว่างคือไม่ให้ใครเข้า) --allow จะแทนที่รายการเดิม ถ้าไม่ใส่ --enable หรือ --disable จะเปลี่ยนเฉพาะรายการหรือ bandwidth
ตัวอย่าง
เปิดให้ที่อยู่เดียว
th database public app-db --enable --allow 203.0.113.7/32แทนที่รายการที่อนุญาต
th database public app-db --allow 203.0.113.0/24,198.51.100.4/32ปิด public endpoint
th database public app-db --disableอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
--enable | แฟล็ก | เปิด public endpoint | |
--disable | แฟล็ก | ปิด public endpoint | |
--allow | รายการ | ที่อยู่ที่อนุญาต เช่น 203.0.113.10/32 (ระบุซ้ำได้ คั่นด้วยจุลภาคได้ และจะแทนที่รายการเดิม) | |
--bandwidth | ตัวเลข | จำกัด bandwidth เป็น Mbps (1–1000) |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database resize
เปลี่ยนขนาดของ Database
ไวยากรณ์
th database resize NAME [--size ID | --cpu N --memory M] [--storage GB]การเปลี่ยน vCPU หรือหน่วยความจำจะรีสตาร์ต Database การเชื่อมต่อจึงหลุดชั่วครู่ พื้นที่จัดเก็บเพิ่มได้อย่างเดียว
ตัวอย่าง
เปลี่ยนขนาด (รีสตาร์ตหนึ่งครั้ง)
th database resize app-db --size <size-id>เพิ่มพื้นที่จัดเก็บ
th database resize app-db --storage 50GBอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
--size | ข้อความ | Size ID จาก th database sizes | |
--cpu | ข้อความ | vCPU เช่น 0.5, 1, 2 | |
--memory | ข้อความ | หน่วยความจำ เช่น 512Mi, 1Gi, 4Gi | |
--storage | ข้อความ | พื้นที่จัดเก็บ เช่น 50GB (เพิ่มได้อย่างเดียว) |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database stop
หยุด Database
ไวยากรณ์
th database stop NAMEพื้นที่จัดเก็บยังเก็บไว้ (และคิดค่าบริการ) เริ่มใหม่ได้ด้วย th database start
ตัวอย่าง
หยุด โดยยังเก็บพื้นที่จัดเก็บไว้
th database stop app-dbอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database start
เริ่ม Database ที่หยุดอยู่
ไวยากรณ์
th database start NAMEตัวอย่าง
เริ่มอีกครั้ง
th database start app-dbอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database backups create
เริ่มสำรองข้อมูลแบบสั่งเอง
ไวยากรณ์
th database backups create NAMEBackup คิดค่าบริการตาม GB ที่เก็บ
ตัวอย่าง
สำรองข้อมูลตอนนี้
th database backups create app-dbอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database backups list
แสดง Backup ของ Database เรียงจากใหม่ไปเก่า พร้อมนโยบายการสำรองข้อมูล
ไวยากรณ์
th database backups list NAMEตัวอย่าง
Backup และนโยบาย
th database backups list app-dbอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database backups restore
แทนที่ข้อมูลของ Database ด้วย Backup (ระบุด้วย ID หรือชื่อ)
ไวยากรณ์
th database backups restore NAME BACKUP [--quiet]--quiet ข้ามการยืนยัน
ตัวอย่าง
แทนที่ข้อมูลด้วย Backup
th database backups restore app-db <backup-id>อาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
BACKUPจำเป็น | Backup ระบุด้วย ID หรือชื่อ จาก th database backups list |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database backups delete
ลบ Backup (ระบุด้วย ID หรือชื่อ)
ไวยากรณ์
th database backups delete NAME BACKUP [--quiet]--quiet ข้ามการยืนยัน
ตัวอย่าง
ลบ Backup
th database backups delete app-db <backup-id>อาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
BACKUPจำเป็น | Backup ระบุด้วย ID หรือชื่อ จาก th database backups list |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database backup-policy
ดูหรือเปลี่ยนการสำรองข้อมูลอัตโนมัติ
ไวยากรณ์
th database backup-policy NAME [--enable|--disable] [--hours N] [--window H] [--keep N]ถ้าไม่ใส่แฟล็กจะแสดงนโยบายปัจจุบัน Backup คิดค่าบริการตาม GB ที่เก็บ
ตัวอย่าง
ดูนโยบาย
th database backup-policy app-dbทุกวันเวลา 02:00 ตามเวลากรุงเทพฯ เก็บ 7 รายการ
th database backup-policy app-db --enable --hours 24 --window 2 --keep 7อาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
--enable | แฟล็ก | เปิดการสำรองข้อมูลอัตโนมัติ | |
--disable | แฟล็ก | ปิดการสำรองข้อมูลอัตโนมัติ | |
--hours | ตัวเลข | สำรองทุก N ชั่วโมง: 6, 12, 24 หรือ 168 | |
--window | ตัวเลข | ชั่วโมงที่เริ่มสำรอง 0–23 (เวลา Asia/Bangkok) | |
--keep | ตัวเลข | จำนวน Backup อัตโนมัติที่เก็บไว้ 1–90 |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database replicas create
สร้าง read replica ของ Database NAME โดยค่าเริ่มต้นมีขนาดเท่ากัน
ไวยากรณ์
th database replicas create NAME [--size ID | --cpu N --memory M] [--name DISPLAY]คิดค่าบริการเหมือน Database ขนาดเดียวกัน
ตัวอย่าง
read replica ขนาดเท่ากัน
th database replicas create app-dbอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์
| ชื่อ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
--size | ข้อความ | Size ID จาก th database sizes | |
--cpu | ข้อความ | vCPU เช่น 0.5, 1, 2 | |
--memory | ข้อความ | หน่วยความจำ เช่น 512Mi, 1Gi | |
--name | ข้อความ | "<primary> · Replica N" | ชื่อที่แสดง (ค่าเริ่มต้น: "<primary> · Replica N") |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database replicas list
แสดง read replica ของ Database (หรือของ primary ของ replica)
ไวยากรณ์
th database replicas list NAMEตัวอย่าง
ดูรายการ read replica
th database replicas list app-dbอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database replicas promote
หยุดการ replicate และทำให้ replica เป็น Database ที่เขียนได้ของตัวเอง
ไวยากรณ์
th database replicas promote REPLICA [--quiet]ย้อนกลับไม่ได้ --quiet ข้ามการยืนยัน
ตัวอย่าง
ทำให้ replica เป็น Database ของตัวเอง
th database replicas promote <replica>อาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
REPLICAจำเป็น | read replica ที่จะ promote |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet
th database delete
ลบ Database และข้อมูลทั้งหมด
ไวยากรณ์
th database delete NAME [--quiet]--quiet ข้ามการยืนยัน Database ที่เปิดการป้องกันการลบไว้ ต้องปิดใน Console ก่อน
ตัวอย่าง
ลบ Database และข้อมูล
th database delete app-dbอาร์กิวเมนต์ตามตำแหน่ง
| ชื่อ | คำอธิบาย |
|---|---|
NAMEจำเป็น | ชื่อ Database |
พารามิเตอร์ส่วนกลาง
คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet