Cơ sở dữ liệu 22/09/2026 6 phút

Transaction ID wraparound trong PostgreSQL: hiểm họa 32-bit và VACUUM freeze

Transaction id là số 32-bit, cửa sổ dùng được chỉ khoảng 2 tỉ. Nếu dòng cũ không được freeze trước khi bộ đếm tràn, chúng bỗng trông như tương lai và biến mất — thảm họa. Đo thật cách theo dõi age(datfrozenxid) và vì sao VACUUM bắt buộc kể cả bảng chỉ đọc. PostgreSQL 16.