Đây là vi phạm read-your-writes: replica bất đồng bộ luôn chậm hơn primary một khoảng (replication lag), và request đọc chạm replica trước khi WAL được áp xong.
Các cách xử lý, chọn theo mức nghiêm ngặt cần thiết:
1. Định tuyến theo phiên (đơn giản và hay dùng nhất). Sau khi một user thực hiện thao tác ghi, ghim mọi truy vấn đọc của user đó về primary trong một khoảng ngắn (vd 5-10 giây), lưu cờ trong session.
2. Định tuyến theo LSN. Lúc ghi, lấy vị trí WAL hiện tại (pg_current_wal_lsn()); lúc đọc, so với pg_last_wal_replay_lsn() của replica — replica đã bắt kịp thì đọc replica, chưa thì đọc primary. Chính xác hơn nhưng phải xử lý trong tầng truy cập dữ liệu.
3. Đẩy lên tầng ứng dụng. Response của thao tác ghi đã có sẵn bản ghi vừa tạo — hiển thị luôn từ đó (cập nhật lạc quan) thay vì gọi lại API danh sách.
4. Giới hạn lag ở tầng hạ tầng. Theo dõi lag liên tục và loại replica khỏi pool khi lag vượt ngưỡng; max_standby_streaming_delay cũng ảnh hưởng tới việc replica có bị hoãn apply vì truy vấn dài hay không.
Điều nên nói rõ khi phỏng vấn: không phải request nào cũng cần đọc mới nhất. Trang báo cáo, thống kê, danh sách công khai chấp nhận trễ vài giây; chỉ luồng "vừa ghi xong đọc lại" và các bước kiểm tra trước khi ghi mới bắt buộc đọc từ primary.