PostgreSQL phát hành loạt bản cập nhật và 19 RC 2
Nhóm phát triển PostgreSQL đã phát hành các bản cập nhật 18.7, 17.12, 16.16, 15.20 và 14.25, cùng bản ứng viên thứ hai của PostgreSQL 19. Đợt phát hành này vá 52 lỗ hổng bảo mật và hơn 140 lỗi, đồng thời đánh dấu chấm dứt hỗ trợ với PostgreSQL 14.

PostgreSQL vừa tung ra một đợt cập nhật lớn với 52 lỗ hổng bảo mật được vá, hơn 140 lỗi được xử lý. Bản 14.25 cũng là bản phát hành cuối cùng của nhánh PostgreSQL 14.
Loạt bản cập nhật đồng loạt
Nhóm Phát triển Toàn cầu PostgreSQL (PostgreSQL Global Development Group) đã phát hành bản cập nhật cho toàn bộ các phiên bản còn được hỗ trợ, gồm 18.7, 17.12, 16.16, 15.20 và 14.25, cùng với bản ứng viên thứ hai (Release Candidate 2) của PostgreSQL 19.
Đợt phát hành này đóng 52 lỗ hổng bảo mật và sửa hơn 140 lỗi được báo cáo trong vài tháng qua. Danh sách thay đổi đầy đủ có trong tài liệu release notes của từng phiên bản.
Tất cả các bản cập nhật nhỏ của PostgreSQL đều mang tính tích lũy: người dùng không cần dump và nạp lại cơ sở dữ liệu hay dùng pg_upgrade. Chỉ cần dừng PostgreSQL và cập nhật các tệp nhị phân (binaries) là đủ.
PostgreSQL 14 chính thức hết vòng đời
Đây là bản phát hành cuối cùng của PostgreSQL 14. Nhánh này đã hết vòng đời (end-of-life) và sẽ không còn nhận bản vá bảo mật hay sửa lỗi nào nữa.
Với những hệ thống đang chạy PostgreSQL 14 trong môi trường production, nhóm phát triển khuyến nghị lên kế hoạch nâng cấp lên một phiên bản mới hơn, vẫn còn được hỗ trợ.
Các bước cần làm thêm sau khi cập nhật
Một số vấn đề có thể buộc người dùng phải thao tác thêm sau khi nâng cấp:
- Chỉ mục GIN: nếu nghi ngờ chỉ mục GIN bị ảnh hưởng bởi các lỗi hỏng dữ liệu đã được sửa trong bản này, cần đánh lại chỉ mục (reindex).
- pg_trgm: cần reindex các chỉ mục GiST dùng lớp toán tử
gist_trgm_ops. - Lỗi "missing chunk number" khi đọc bảng: cần reindex bảng đó, thao tác này cũng reindex cả bảng TOAST đi kèm.
- Sao lưu tăng dần (incremental backup): nên tạo một bản sao lưu đầy đủ mới sau khi cập nhật và dùng nó làm nền cho các bản sao lưu tăng dần tiếp theo.
- Chỉ mục B-tree trên cột bpchar (khai báo
bpcharkhông kèm độ dài): cần reindex sau khi cập nhật. Các cột khai báochar(n)không bị ảnh hưởng.
Với bảng phân vùng (partitioned table), câu truy vấn sau liệt kê các ràng buộc NOT NULL NO INHERIT:
SELECT conrelid::regclass, conname
FROM pg_constraint
WHERE contype = 'n' AND connoinherit
AND conrelid IN (SELECT oid FROM pg_class WHERE relkind = 'p');
Ràng buộc không mong muốn có thể gỡ bằng ALTER TABLE ... DROP CONSTRAINT .... Ràng buộc muốn giữ lại thì cần sửa bằng ALTER TABLE ... ALTER CONSTRAINT ... INHERIT, thao tác này sẽ thất bại nếu bất kỳ phân vùng nào của bảng chứa giá trị NULL ở cột đó.
Người dùng bỏ qua một hoặc nhiều bản cập nhật trước đó có thể cần thêm các bước xử lý hậu cập nhật; chi tiết nằm trong release notes của các phiên bản cũ hơn.
PostgreSQL 19 RC 2 và dữ liệu múi giờ
Bản cập nhật cũng làm mới các tệp dữ liệu múi giờ lên tzdata 2026f. Từ tháng 11/2026, vùng Northwest Territories của Canada (America/Inuvik) chuyển sang UTC-06 quanh năm, còn Manitoba (America/Winnipeg) sang UTC-05 quanh năm. Bản phát hành này giả định viết tắt múi giờ của hai vùng lần lượt là CST và EST (có thể thay đổi). Nó cũng phản ánh việc Cuba giữ giờ mùa hè trong mùa đông năm nay, và các tên múi giờ EST5EDT, CST6CDT, MST7MDT, PST8PDT nay dùng độ lệch UTC như tên gọi cho các mốc thời gian cũ, thay vì dùng lịch sử của vùng thành phố tương ứng.
PostgreSQL 19 RC 2 gần như sẽ giống hệt bản phát hành chính thức đầu tiên của PostgreSQL 19, dù vẫn có thể có thêm vài bản sửa trước ngày phát hành chung. Bản RC 2 này cũng bao gồm các bản sửa trong đợt cập nhật áp dụng cho PostgreSQL 19.
Ngày dự kiến phát hành chính thức (general availability) của PostgreSQL 19 là 19/11/2026. Để nâng cấp lên RC 2 từ các phiên bản trước, cần dùng chiến lược nâng cấp phiên bản lớn như pg_upgrade hoặc pg_dump/pg_restore.
Nếu dùng pg_upgrade với các chỉ mục liên quan đến tìm kiếm toàn văn (full text search), pg_trgm hoặc fuzzystrmatch, cần xem mục "Migration to Version 19" trong release notes vì có thể phải reindex sau khi nâng cấp. Một số lỗi cũng đã được sửa trong giai đoạn RC 1; danh sách chi tiết có trên trang open items.
Góc nhìn
Với các đội kỹ thuật vận hành PostgreSQL ở Việt Nam, đợt phát hành này là lời nhắc rằng các bản cập nhật nhỏ tuy chỉ cần thay binaries nhưng vẫn phải đọc kỹ phần hướng dẫn hậu cập nhật. Việc reindex các chỉ mục GIN, GiST của pg_trgm hay B-tree trên cột bpchar có thể tốn thời gian và khóa bảng tùy quy mô dữ liệu, nên nên lên lịch vào khung giờ thấp điểm và chuẩn bị dung lượng đĩa dự phòng.
Riêng các hệ thống còn chạy PostgreSQL 14 cần được đưa vào kế hoạch nâng cấp sớm, vì từ nay không còn bản vá bảo mật nào nữa. Với các đội muốn thử PostgreSQL 19 trước ngày phát hành chung, bản RC 2 là cơ hội tốt để kiểm tra tương thích trên môi trường staging.
Nguồn: postgresql.org · Quy trình biên tập
Bài viết liên quan

Công nghệ
PostgreSQL 19 bị hoãn sau khi AI phát hiện quá nhiều lỗi vượt khả năng sửa của lập trình viên
16 tháng 10, 2026

PostgreSQL 19 gây thất vọng: Truy vấn đồ thị bị loại bỏ vì lỗi chưa giải quyết
15 tháng 9, 2026

Phần mềm
PostgreSQL 19 và làn sóng revert: Khi LLM review nâng chuẩn chất lượng và lộ ra điểm yếu của quy trình
20 tháng 10, 2026