Lập trình 22/09/2026 7 phút

Đọc trên replica đo thật: truy vấn dài bị huỷ sau 2,2 giây hoặc 30,9 giây tuỳ max_standby_streaming_delay, chờ mãi thì lag phình 454 MB trong 12 giây, feedback hết huỷ nhưng để lại 400.000 dead tuple trên primary, đọc ngay sau ghi trượt 299/300

Trên replica PostgreSQL 16 ở chế độ hot standby, một truy vấn 40 giây giữ snapshot gặp VACUUM từ primary: với max_standby_streaming_delay 2 giây bị huỷ sau 2,2 giây, với 30 giây mặc định bị huỷ sau 30,9 giây, với -1 chạy xong nhưng lag replica lên 454 MB và 12 giây dưới tải. Bật hot_standby_feedback thì truy vấn chạy xong, xmin của replica xuất hiện trong slot và VACUUM VERBOSE trên primary báo 400.000 dead tuple chưa dọn được. Đọc ngay sau ghi bằng Go pgx: 299 trong 300 lượt chưa thấy dòng vừa commit, thấy sau 1,4 ms trung vị và tối đa 120 ms dưới tải, dù lag báo 0 byte.