War story: xoá nhầm bảng trên prod DB và bài học về backup
A
Admin
ADMIN
15:19 9 thg 7, 2026
👁 8926
💬 5
Chia sẻ một pha "tim ngừng đập" hồi mình mới đi làm để anh em tránh 😅
Chạy DELETE quên WHERE trên bảng orders của production. Mất ~3 phút mới nhận ra.
Cứu vãn được nhờ:
- WAL + backup định kỳ (point-in-time recovery) → khôi phục về mốc trước đó vài phút.
- Có staging giống prod để test lệnh restore trước.
Bài học:
- Luôn bọc lệnh nguy hiểm trong transaction:
BEGIN;→ kiểm traSELECT→ rồi mới commit. - Prod cần read-replica và backup tự động kiểm tra khôi phục định kỳ, không chỉ backup rồi để đó.
- Set quyền tài khoản DB tối thiểu cho từng việc.
5 Bình luận
Đọc mà toát mồ hôi 😱 Cảm ơn anh, để em set backup test-restore ngay.
Đọc xong rùng mình luôn. Backup đúng là bài học xương máu. Mọi người đang dùng tool backup nào cho postgres với? Ảnh log hồi mình cấu hình backup:
Anh ơi cho em hỏi: nếu daily backup chạy lúc 3h sáng mà DB đang có transaction lớn thì có ảnh hưởng gì không ạ? Em đang phân vân giữa pg_dump thường với WAL archiving, anh tư vấn giúp em với.
Anh ơi em có câu hỏi gấp về backup Postgres ạ, bên em mới chuyển sang WAL archiving mà thấy archive_command cứ fail ngắt quãng, anh xem giúp em log với ạ:
Đăng nhập để bình luận.
Đăng nhập Đăng ký