PostgreSQL 14 chính thức hết hỗ trợ từ hôm nay, 12/11/2026: bản 14.25 phát hành cùng ngày là bản cuối cùng, và từ giờ mọi lỗ hổng bảo mật hay lỗi dữ liệu mới trên nhánh 14 sẽ không còn được vá. Với team Django, deadline này còn đi kèm một khóa khác: Django 6.1 đã bỏ hỗ trợ PostgreSQL 14, nên database còn ở 14 thì bạn cũng không thể nâng cấp lên Django 6.1.
Hết hỗ trợ nghĩa là gì?
PostgreSQL hỗ trợ mỗi bản lớn trong 5 năm, rồi phát hành một bản vá cuối cùng và dừng hẳn. Từ hôm nay, nhánh 14 không còn nhận vá bảo mật hay sửa lỗi. Đợt phát hành định kỳ tiếp theo, ngày 11/2/2027, sẽ chỉ vá các nhánh 15 đến 18.
Các mốc hỗ trợ còn lại
Đây là toàn bộ bức tranh từ trang versioning chính thức của PostgreSQL:
- PostgreSQL 15: hỗ trợ đến 11/11/2027.
- PostgreSQL 16: hỗ trợ đến 9/11/2028.
- PostgreSQL 17: hỗ trợ đến 8/11/2029.
- PostgreSQL 18: hỗ trợ đến 14/11/2030.
- PostgreSQL 19: bản RC 2 vừa phát hành hôm nay, bản chính thức dự kiến ngày 19/11/2026.
Góc Django: Django 6.1 đã bỏ PostgreSQL 14
Ghi chú phát hành của Django 6.1 nói thẳng: “Dropped support for PostgreSQL 14.” Django 6.1 chỉ hỗ trợ PostgreSQL 15 trở lên, và khi kết nối tới server 14, Django sẽ báo lỗi NotSupportedError với thông điệp “PostgreSQL 15 or later is required”. Nói cách khác, muốn lên Django 6.1 thì phải nâng cấp database trước.
Django 6.0 và bản LTS 5.2 vẫn hỗ trợ PostgreSQL 14 — đường lui tạm thời, không phải giải pháp. Django 6.1 yêu cầu psycopg 3.1.12 trở lên hoặc psycopg2 2.9.9 trở lên, và tài liệu chính thức khuyên dùng psycopg 3.
Nên nâng cấp lên bản nào?
Khuyến nghị chung: lên PostgreSQL 18 nếu extension và nền tảng của bạn hỗ trợ, không thì chọn 17 — bản 18 được hỗ trợ đến tháng 11/2030. Đừng chọn 15 chỉ vì nó “gần nhất”: 15 hết hỗ trợ vào tháng 11/2027, tức là một năm nữa lại làm lại từ đầu.
Ba hướng nâng cấp
- pg_upgrade — nâng cấp tại chỗ: nhanh, downtime chỉ vài phút, luôn chạy –check trước; chế độ –link gần như không tốn thêm dung lượng.
- Logical replication — downtime gần bằng 0: dựng server mới, replicate dữ liệu trong khi 14 vẫn phục vụ, rồi chuyển đổi trong vài giây; đổi lại phải đóng băng migration và tự xử lý sequence.
- Dump và restore — đơn giản nhất: pg_dump rồi pg_restore, downtime tăng theo dung lượng; đổi lại mọi index được rebuild từ đầu.
Điều này có ý nghĩa gì với bạn
Việc đầu tiên là kiểm tra phiên bản đang chạy:
SELECT version();
Nếu còn ở 14, hãy đưa nâng cấp vào kế hoạch quý này, thử trước trên staging và chạy test suite với target mới trước khi chạm vào production. Database không hỏng sau deadline, nhưng mỗi ngày ở lại 14 là một ngày bạn tự gánh rủi ro mà cộng đồng đã ngừng vá.
Bài viết liên quan
- Django vận hành production #15: Backup và restore — pg_dump tự động, backup media, diễn tập restore định kỳ
- Django 6.1.3 chính thức ra mắt: vá 6 lỗ hổng bảo mật và mở đường lên Python 3.15
- Django 6.1 chính thức hỗ trợ Python 3.15: nâng cấp ngay hay chờ bản 6.1.3?
Câu hỏi thường gặp
Database PostgreSQL 14 có dừng chạy vào ngày mai không?
Không. Database vẫn chạy bình thường, nhưng sẽ không còn nhận bất kỳ bản vá nào nữa — rủi ro tích lũy theo thời gian.
Tôi có thể nhảy thẳng từ PostgreSQL 14 lên 18 không?
Được, PostgreSQL hỗ trợ nâng cấp bỏ qua các bản trung gian. Nhưng hãy đọc mục incompatibilities của từng bản 15, 16, 17 và 18 trước khi làm.
Đang dùng Django 5.2 LTS thì có cần gấp không?
Ít gấp hơn, vì Django 5.2 LTS vẫn hỗ trợ PostgreSQL 14. Nhưng database vẫn hết vá bảo mật, nên hãy coi đây là thời gian đệm để lên kế hoạch.
💬 Tin này ảnh hưởng tới dự án của bạn thế nào? Chia sẻ góc nhìn của bạn trong phần bình luận — mình đọc hết và sẽ tổng hợp những ý hay nhất.
Nguồn tham khảo
- PostgreSQL Global Development Group, “PostgreSQL 18.7, 17.12, 16.16, 15.20, 14.25, and 19 RC 2 Released!”, 12/11/2026
- PostgreSQL, Versioning Policy
- Lycore, “PostgreSQL 14 Is End-of-Life on November 12: An Upgrade Plan for Django Teams”, Medium
- Safeguard, “PostgreSQL 14 End of Life on 12 November 2026: What 2026 Fixed and How to Upgrade”
