Tại sao Backup & Restore lại quan trọng trong Supabase
Dữ liệu là tài sản quý giá nhất của mọi ứng dụng, đặc biệt khi bạn đang xây dựng trên Supabase – một nền tảng cơ sở dữ liệu PostgreSQL mã nguồn mở. Tuy nhiên, nhiều nhà phát triển thường bỏ qua việc sao lưu định kỳ, dẫn đến rủi ro mất mát dữ liệu không đáng có. Bài viết này sẽ hướng dẫn bạn cách backup và restore dữ liệu trên Supabase một cách an toàn và hiệu quả.
Các phương pháp backup dữ liệu trên Supabase
Supabase cung cấp nhiều cách để sao lưu dữ liệu, tùy thuộc vào nhu cầu và quy mô dự án của bạn.
1. Sử dụng tính năng Point-in-Time Recovery (PITR)
Đây là tính năng mạnh mẽ nhất của Supabase, cho phép bạn khôi phục dữ liệu về bất kỳ thời điểm nào trong vòng 7 ngày gần nhất. PITR tự động tạo các WAL (Write-Ahead Logging) file, ghi lại mọi thay đổi của cơ sở dữ liệu. Khi cần restore, bạn có thể chọn chính xác thời điểm muốn quay lại.
2. Backup thủ công bằng SQL dump
Với các dự án nhỏ hoặc khi bạn cần backup nhanh, bạn có thể sử dụng công cụ pg_dump để tạo file SQL dump. Lệnh đơn giản như sau:
pg_dump -h your-project.supabase.co -p 5432 -U your-username -F c -b -v -f backup.bak your-databaseFile backup này có thể được lưu trữ trên máy local hoặc dịch vụ cloud như AWS S3, Google Cloud Storage.
3. Sử dụng API Supabase để export dữ liệu
Với các bảng nhỏ, bạn có thể dùng API REST của Supabase để export dữ liệu ra JSON. Mặc dù không phù hợp cho dữ liệu lớn, nhưng đây là cách nhanh chóng để có bản sao lưu có thể đọc được.
Quy trình restore dữ liệu an toàn
1. Restore từ PITR
Để restore từ PITR, bạn cần liên hệ với đội ngũ hỗ trợ của Supabase. Họ sẽ giúp bạn chọn thời điểm restore và thực hiện thao tác trên server. Lưu ý rằng quá trình này sẽ tạm dừng hoạt động của database trong ít phút.
2. Restore từ file SQL dump
Nếu bạn có file backup từ pg_dump, bạn có thể restore bằng lệnh:
pg_restore -h your-project.supabase.co -p 5432 -U your-username -d your-database -v backup.bak