th database

สร้าง Database PostgreSQL, MySQL และ MariaDB เชื่อมต่อจากเครื่องของคุณด้วยคำสั่งเดียว สำรองและกู้คืนข้อมูล และเพิ่ม read replica

เกี่ยวกับ

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

Shell
th database engines
th database sizes
th database create app-db --engine postgres --size <size-id> --storage 20GB --backups

ไม่ใส่ --version เพื่อใช้เวอร์ชันที่แนะนำ แทนที่จะใช้ --size จะระบุ --cpu และ --memory ก็ได้

เชื่อมต่อจากเครื่องของคุณ

  1. หา IP สาธารณะของคุณ (เช่น จากเราเตอร์หรือเว็บ “what is my IP”)
  2. เปิด public endpoint ให้เฉพาะที่อยู่นั้น: th database public app-db --enable --allow 203.0.113.7/32
  3. รัน th database connect app-db psql (หรือ mysql) จะเปิดขึ้นและเชื่อมต่อผ่าน TLS
Shell
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 จะแทนที่รายการเดิม)

สำรองและกู้คืนข้อมูล

Shell
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

ไวยากรณ์

Shell
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 เวอร์ชันที่แนะนำ

Shell
th database create app-db --engine postgres

MySQL ขนาดที่กำหนดเอง

Shell
th database create shop --engine mysql --cpu 1 --memory 2Gi --storage 20GB --disk ssd

เปิดให้ที่อยู่เดียว พร้อมสำรองข้อมูลอัตโนมัติ

Shell
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 ปัจจุบัน

ไวยากรณ์

Shell
th database list

ตัวอย่าง

ดูรายการ Database

Shell
th database list

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database describe

แสดง engine ขนาด สถานะ และที่อยู่ของ Database

ไวยากรณ์

Shell
th database describe NAME

ตัวอย่าง

engine ขนาด สถานะ และที่อยู่

Shell
th database describe app-db

อาร์กิวเมนต์ตามตำแหน่ง

ชื่อคำอธิบาย
NAMEจำเป็นชื่อ Database

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database engines

แสดง engine และเวอร์ชันที่ Database ใหม่ใช้ได้

ไวยากรณ์

Shell
th database engines

ตัวอย่าง

engine และเวอร์ชัน

Shell
th database engines

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database sizes

แสดงขนาดสำหรับ --size

ไวยากรณ์

Shell
th database sizes

ตัวอย่าง

ขนาดสำหรับ --size

Shell
th database sizes

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database connect

เปิดไคลเอนต์ของ engine นั้น (psql, mysql/mariadb, redis-cli/valkey-cli) โดยส่งข้อมูลเข้าสู่ระบบผ่านตัวแปรสภาพแวดล้อม ไม่ใส่ใน command line

ไวยากรณ์

Shell
th database connect NAME [--public | --private] [-- CLIENT-ARGS...]

โดยค่าเริ่มต้นจะใช้ public TLS endpoint ซึ่งต้องเปิดไว้และอนุญาตที่อยู่ของคุณ --private ใช้ที่อยู่ภายใน ซึ่งเข้าถึงได้เฉพาะจากใน VPC ของ Project อาร์กิวเมนต์หลัง -- จะส่งต่อให้ไคลเอนต์

ตัวอย่าง

เปิด psql หรือ mysql ผ่าน public endpoint

Shell
th database connect app-db

จากภายใน VPC ของ Project

Shell
th database connect app-db --private

ส่งอาร์กิวเมนต์ให้ไคลเอนต์

Shell
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

ไวยากรณ์

Shell
th database credentials NAME [--format json]

รหัสผ่านแสดงเฉพาะสมาชิกที่มีสิทธิ์ดูแล Database นั้น

ตัวอย่าง

ชื่อผู้ใช้ รหัสผ่าน และ URL

Shell
th database credentials app-db

แสดงเป็น JSON

Shell
th database credentials app-db --format json

อาร์กิวเมนต์ตามตำแหน่ง

ชื่อคำอธิบาย
NAMEจำเป็นชื่อ Database

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database public

เปิดหรือปิด public TLS endpoint

ไวยากรณ์

Shell
th database public NAME --enable|--disable [--allow CIDR,...] [--bandwidth MBPS]

เชื่อมต่อได้เฉพาะที่อยู่ใน --allow (รายการว่างคือไม่ให้ใครเข้า) --allow จะแทนที่รายการเดิม ถ้าไม่ใส่ --enable หรือ --disable จะเปลี่ยนเฉพาะรายการหรือ bandwidth

ตัวอย่าง

เปิดให้ที่อยู่เดียว

Shell
th database public app-db --enable --allow 203.0.113.7/32

แทนที่รายการที่อนุญาต

Shell
th database public app-db --allow 203.0.113.0/24,198.51.100.4/32

ปิด public endpoint

Shell
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

ไวยากรณ์

Shell
th database resize NAME [--size ID | --cpu N --memory M] [--storage GB]

การเปลี่ยน vCPU หรือหน่วยความจำจะรีสตาร์ต Database การเชื่อมต่อจึงหลุดชั่วครู่ พื้นที่จัดเก็บเพิ่มได้อย่างเดียว

ตัวอย่าง

เปลี่ยนขนาด (รีสตาร์ตหนึ่งครั้ง)

Shell
th database resize app-db --size <size-id>

เพิ่มพื้นที่จัดเก็บ

Shell
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

ไวยากรณ์

Shell
th database stop NAME

พื้นที่จัดเก็บยังเก็บไว้ (และคิดค่าบริการ) เริ่มใหม่ได้ด้วย th database start

ตัวอย่าง

หยุด โดยยังเก็บพื้นที่จัดเก็บไว้

Shell
th database stop app-db

อาร์กิวเมนต์ตามตำแหน่ง

ชื่อคำอธิบาย
NAMEจำเป็นชื่อ Database

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database start

เริ่ม Database ที่หยุดอยู่

ไวยากรณ์

Shell
th database start NAME

ตัวอย่าง

เริ่มอีกครั้ง

Shell
th database start app-db

อาร์กิวเมนต์ตามตำแหน่ง

ชื่อคำอธิบาย
NAMEจำเป็นชื่อ Database

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database backups create

เริ่มสำรองข้อมูลแบบสั่งเอง

ไวยากรณ์

Shell
th database backups create NAME

Backup คิดค่าบริการตาม GB ที่เก็บ

ตัวอย่าง

สำรองข้อมูลตอนนี้

Shell
th database backups create app-db

อาร์กิวเมนต์ตามตำแหน่ง

ชื่อคำอธิบาย
NAMEจำเป็นชื่อ Database

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database backups list

แสดง Backup ของ Database เรียงจากใหม่ไปเก่า พร้อมนโยบายการสำรองข้อมูล

ไวยากรณ์

Shell
th database backups list NAME

ตัวอย่าง

Backup และนโยบาย

Shell
th database backups list app-db

อาร์กิวเมนต์ตามตำแหน่ง

ชื่อคำอธิบาย
NAMEจำเป็นชื่อ Database

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database backups restore

แทนที่ข้อมูลของ Database ด้วย Backup (ระบุด้วย ID หรือชื่อ)

ไวยากรณ์

Shell
th database backups restore NAME BACKUP [--quiet]

--quiet ข้ามการยืนยัน

ตัวอย่าง

แทนที่ข้อมูลด้วย Backup

Shell
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 หรือชื่อ)

ไวยากรณ์

Shell
th database backups delete NAME BACKUP [--quiet]

--quiet ข้ามการยืนยัน

ตัวอย่าง

ลบ Backup

Shell
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

ดูหรือเปลี่ยนการสำรองข้อมูลอัตโนมัติ

ไวยากรณ์

Shell
th database backup-policy NAME [--enable|--disable] [--hours N] [--window H] [--keep N]

ถ้าไม่ใส่แฟล็กจะแสดงนโยบายปัจจุบัน Backup คิดค่าบริการตาม GB ที่เก็บ

ตัวอย่าง

ดูนโยบาย

Shell
th database backup-policy app-db

ทุกวันเวลา 02:00 ตามเวลากรุงเทพฯ เก็บ 7 รายการ

Shell
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 โดยค่าเริ่มต้นมีขนาดเท่ากัน

ไวยากรณ์

Shell
th database replicas create NAME [--size ID | --cpu N --memory M] [--name DISPLAY]

คิดค่าบริการเหมือน Database ขนาดเดียวกัน

ตัวอย่าง

read replica ขนาดเท่ากัน

Shell
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)

ไวยากรณ์

Shell
th database replicas list NAME

ตัวอย่าง

ดูรายการ read replica

Shell
th database replicas list app-db

อาร์กิวเมนต์ตามตำแหน่ง

ชื่อคำอธิบาย
NAMEจำเป็นชื่อ Database

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database replicas promote

หยุดการ replicate และทำให้ replica เป็น Database ที่เขียนได้ของตัวเอง

ไวยากรณ์

Shell
th database replicas promote REPLICA [--quiet]

ย้อนกลับไม่ได้ --quiet ข้ามการยืนยัน

ตัวอย่าง

ทำให้ replica เป็น Database ของตัวเอง

Shell
th database replicas promote <replica>

อาร์กิวเมนต์ตามตำแหน่ง

ชื่อคำอธิบาย
REPLICAจำเป็นread replica ที่จะ promote

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑

th database delete

ลบ Database และข้อมูลทั้งหมด

ไวยากรณ์

Shell
th database delete NAME [--quiet]

--quiet ข้ามการยืนยัน Database ที่เปิดการป้องกันการลบไว้ ต้องปิดใน Console ก่อน

ตัวอย่าง

ลบ Database และข้อมูล

Shell
th database delete app-db

อาร์กิวเมนต์ตามตำแหน่ง

ชื่อคำอธิบาย
NAMEจำเป็นชื่อ Database

พารามิเตอร์ส่วนกลาง

คำสั่งนี้รับพารามิเตอร์ส่วนกลางด้วย: --project, --region, --endpoint, --format, --quiet

กลับขึ้นด้านบน ↑