Tại sao backup và restore dữ liệu là điều bắt buộc
Mỗi hệ thống cơ sở dữ liệu đều tiềm ẩn rủi ro: lỗi phần cứng, sai sót thao tác, tấn công mạng, hoặc đơn giản là nhu cầu khôi phục về một trạng thái trước đó. Supabase, với nền tảng PostgreSQL, cung cấp nhiều cách để bảo vệ dữ liệu. Tuy nhiên, việc nắm rõ quy trình backup và restore không chỉ giúp bạn tự tin hơn khi vận hành mà còn giảm thiểu tối đa thời gian ngừng hoạt động nếu sự cố xảy ra.
Các cách backup dữ liệu trên Supabase
1. Backup tự động (Point-in-Time Recovery – PITR)
Supabase tự động backup toàn bộ dữ liệu của bạn mỗi đêm và lưu giữ trong 7 ngày gần nhất. Đây là lựa chọn an toàn nhất cho các trường hợp khẩn cấp, vì bạn có thể khôi phục database về bất kỳ thời điểm nào trong vòng 7 ngày qua.
Để khôi phục, bạn chỉ cần vào Dashboard → [Project] → [Settings] → [Database] → [Point-in-time recovery] và chọn thời điểm muốn khôi phục. Lưu ý, quá trình này sẽ tạo ra một database mới, dữ liệu cũ vẫn được giữ lại.
2. Backup thủ công (Manual Backup)
Nếu bạn muốn backup ngay lập tức hoặc lưu trữ ngoài Supabase, bạn có thể sử dụng công cụ pg_dump hoặc API của Supabase.
Ví dụ với pg_dump:
pg_dump -h db.yourproject.supabase.co -U postgres -F c -b -v -f backup.bak your_databaseHoặc thông qua API REST:
curl -X POST 'https://yourproject.supabase.co/rest/v1/_backup'
-H "apikey: your_api_key"
-H "Authorization: Bearer your_service_role_key"