Dữ liệu mất là mất tất cả
Code mất còn viết lại được; dữ liệu user mất là không thể cứu. Một sản phẩm nghiêm túc phải có backup. Bài cuối khoá thiết lập lưới an toàn này.
Hiểu các tầng backup của Supabase
| Cơ chế | Có ở đâu | Đặc điểm |
|---|---|---|
| Daily backups tự động | Các gói trả phí | Supabase tự sao lưu hằng ngày, giữ một số ngày |
| Point-in-Time Recovery (PITR) | Gói cao hơn (tuỳ chọn) | Khôi phục về đúng một thời điểm bất kỳ |
| Backup thủ công | Mọi gói (tự làm) | Bạn tự pg_dump định kỳ |
⚠️ Gói free thường không có backup tự động đầy đủ — đừng giả định dữ liệu được sao lưu. Kiểm tra mục Database → Backups trong Supabase để biết chính xác gói của bạn có gì.
Backup thủ công bằng pg_dump
pg_dump xuất toàn bộ database ra một file SQL — khôi phục được ở bất kỳ đâu:
# Xuất toàn bộ DB ra file (connection string lấy từ Supabase → Database → Connection)
pg_dump "postgresql://...connection-string..." > backup_$(date +%Y%m%d).sql
# Khôi phục khi cần
psql "postgresql://...connection-string..." < backup_20260619.sql
Tự động hoá backup
- Script + cron: một script
pg_dumpchạy định kỳ (cron trên server, hoặc scheduled job/GitHub Action), đẩy file lên cloud storage (S3, R2, Google Drive). - Quy tắc 3-2-1: giữ 3 bản sao, trên 2 loại lưu trữ, 1 bản ở nơi khác (offsite). Đừng để backup nằm cùng chỗ với DB gốc.
- Nhờ AI dựng pipeline: "Viết GitHub Action chạy mỗi ngày: pg_dump database Supabase và upload file lên Cloudflare R2, giữ lại 30 bản gần nhất, secret đọc từ GitHub Secrets."
Bảo trì định kỳ
- Kiểm tra backup PHỤC HỒI ĐƯỢC — backup không test khôi phục là backup ảo. Định kỳ thử restore vào DB tạm.
- Theo dõi dung lượng & hiệu năng DB khi dữ liệu lớn dần.
- Dọn dữ liệu rác (bản ghi test, log cũ) định kỳ.
Tổng kết khoá học
Bạn đã đi từ code trên máy đến một sản phẩm online, có domain riêng, HTTPS, được giám sát qua log, tối ưu tốc độ & SEO, và có backup an toàn. Đây là khác biệt giữa "làm cho vui" và "vận hành sản phẩm thật".
Nỗi sợ "deploy lỗi" giờ được thay bằng quy trình: push → deploy → đọc log → sửa → tối ưu → backup. Hãy đưa một sản phẩm của bạn lên Internet ngay tuần này, và chia sẻ link cùng bài học vận hành lên cộng đồng!
Hẹn gặp bạn ở những khoá tiếp theo của Cộng Đồng Vibe Code! 🚀
