Tại sao backup và restore database lại quan trọng?
Trong bất kỳ dự án nào sử dụng database, dữ liệu chính là tài sản quý giá nhất. Một sự cố nhỏ như xóa nhầm, lỗi ứng dụng, hoặc thậm chí tấn công có thể xóa sạch thông tin. Vì vậy, việc backup định kỳ và biết cách restore khi cần là kỹ năng không thể thiếu. Với Supabase, quá trình này được tích hợp sẵn và dễ thực hiện, giúp bảo vệ dữ liệu một cách hiệu quả.
Các cách backup database trên Supabase
Supabase cung cấp nhiều phương pháp để sao lưu dữ liệu, phù hợp với nhu cầu và quy mô dự án khác nhau.
Backup tự động (Point-in-time recovery – PITR)
Mỗi database trên Supabase đều được bật tính năng PITR theo mặc định. Điều này có nghĩa là mọi thay đổi dữ liệu đều được ghi lại, cho phép bạn khôi phục database về bất kỳ thời điểm nào trong vòng 7 ngày gần nhất. Bạn không cần cấu hình gì thêm—chỉ cần đảm bảo rằng dự án của bạn nằm trong gói hỗ trợ PITR.
Manual backup (Sao lưu thủ công)
Nếu bạn muốn tạo bản backup riêng biệt, Supabase cho phép xuất toàn bộ database dưới dạng file .sql. Để làm điều này, bạn có thể sử dụng công cụ dòng lệnh hoặc dashboard của Supabase. Cách đơn giản nhất là:
1. Truy cập dashboard dự án Supabase.
2. Chọn tab “Settings” → “Database”.
3. Nhấn nút “Export”, hệ thống sẽ tạo file backup và gửi link tải về email của bạn.
File này chứa toàn bộ schema và dữ liệu, giúp bạn dễ dàng khôi phục trên cùng hoặc một database khác.
Backup thông qua CLI (Command Line Interface)
Với người dùng quen thao tác dòng lệnh, bạn có thể backup database bằng lệnh pg_dump. Ví dụ:
pg_dump -h DB_HOST -U DB_USER -d DB_NAME -F c -b -v -f backup.dumpThay thế các thông số bằng thông tin thực tế từ dashboard Supabase. File .dump này có thể lưu trữ cục bộ hoặc upload lên dịch vụ lưu trữ đám mây.
Cách restore database từ bản backup
Restore từ file .sql
Nếu bạn có file .sql từ dashboard hoặc tự export, bạn có thể restore bằng lệnh:
psql -h DB_HOST -U DB_USER -d DB_NAME -f backup.sql