PostgreSQL là lựa chọn mặc định hợp lý cho phần mềm doanh nghiệp vì bốn lý do: không mất phí bản quyền và không phụ thuộc một hãng, giữ dữ liệu đúng bằng ràng buộc ngay trong cơ sở dữ liệu, xử lý được nhiều loại dữ liệu (bảng, JSON, chuỗi thời gian, tìm kiếm văn bản) trong một hệ thống, và có mặt ở mọi nhà cung cấp cloud lớn nên dữ liệu chuyển đi được khi cần. "Mặc định" nghĩa là chọn PostgreSQL trừ khi có lý do cụ thể để chọn thứ khác; bài có một mục riêng cho các lý do đó.
ALODEV dùng PostgreSQL cho ALODEV AIO, hệ thống chấm công, lương, hợp đồng và giao việc mà công ty dùng hằng ngày. Các đoạn mã và bài học trong bài lấy từ kho mã của hệ thống đó, đọc ngày 25/09/2026.
PostgreSQL đang đứng ở đâu
Hai nguồn đo độ phổ biến thường được dẫn cho kết quả khác nhau, và nên đọc cả hai. Khảo sát lập trình viên của Stack Overflow năm 2025 hỏi người trả lời đã dùng cơ sở dữ liệu nào trong năm: PostgreSQL đứng đầu với 55,6% toàn bộ người trả lời và 58,2% lập trình viên chuyên nghiệp, cách MySQL ở vị trí thứ hai hơn 15 điểm phần trăm.

Bảng xếp hạng DB-Engines đo theo cách khác: số lần được nhắc trên web, tìm kiếm, tin tuyển dụng, hồ sơ chuyên gia. Ở đó PostgreSQL đứng thứ tư, sau Oracle, MySQL và SQL Server, những hệ đã có mặt lâu năm trong doanh nghiệp lớn. Chiều biến động đáng chú ý hơn thứ hạng: trong 12 tháng tính tới tháng 9/2026, điểm của PostgreSQL tăng 26,08 trong khi Oracle giảm 48,36, MySQL giảm 46,95, SQL Server giảm 18,63.

Với người mua phần mềm, con số phổ biến có một ý nghĩa thực dụng: càng nhiều người dùng thì càng dễ tìm người tiếp quản hệ thống, càng nhiều tài liệu, và càng ít khả năng công nghệ bị bỏ rơi giữa đường.
Không phí bản quyền, không bị khoá vào một hãng
PostgreSQL phát hành theo PostgreSQL License, một giấy phép mã nguồn mở kiểu BSD cho phép dùng, sửa, bán kèm mà không trả phí và không bị ràng buộc công bố mã của mình. Dự án không thuộc sở hữu của công ty nào; nó do một cộng đồng toàn cầu phát triển. Điều này khác với MySQL (thuộc Oracle, có phiên bản thương mại song song) và càng khác với SQL Server hay Oracle Database, nơi chi phí bản quyền tăng theo số lõi CPU hoặc số người dùng.
Hệ quả thứ hai quan trọng không kém: PostgreSQL có ở mọi nơi. AWS (RDS, Aurora), Google Cloud SQL, Azure Database, cùng các dịch vụ như Supabase, Neon đều bán PostgreSQL được quản lý sẵn. Một doanh nghiệp bắt đầu trên máy chủ tự dựng có thể chuyển lên cloud, hoặc ngược lại, bằng công cụ sao lưu chuẩn pg_dump mà không phải viết lại phần mềm. Khoá chặt nhà cung cấp là rủi ro doanh nghiệp thường chỉ nhìn thấy khi muốn rời đi; chọn PostgreSQL giảm rủi ro đó ngay từ đầu.
Vòng đời cũng rõ ràng. Theo chính sách phiên bản tại postgresql.org (tra 25/09/2026), mỗi bản lớn được hỗ trợ 5 năm, bản vá ra ít nhất ba tháng một lần. PostgreSQL 14 hết hỗ trợ ngày 12/11/2026; hệ thống nào còn chạy bản này nên lên lịch nâng cấp ngay trong quý.
Dữ liệu đúng được giữ ngay trong cơ sở dữ liệu
Với phần mềm lương, hợp đồng, kho, tài chính, sai dữ liệu là sai tiền. PostgreSQL cho phép khai báo luật nghiệp vụ thành ràng buộc: cơ sở dữ liệu từ chối ghi bản ghi vi phạm, bất kể dữ liệu đến từ giao diện web, từ một script nhập liệu hay từ một lập trình viên gõ lệnh trực tiếp.

Cùng bảng đó còn các ràng buộc CHECK: hợp đồng thử việc phải có ngày kết thúc thử việc, ngày kết thúc thử việc không quá 180 ngày sau ngày bắt đầu (trần của Điều 25 Bộ luật Lao động 2019), hợp đồng ở trạng thái đã ký phải kèm tệp bản ký. Người nhập sai năm, gõ 2027 thay vì 2026, bị chặn ngay lúc bấm Lưu thay vì bị phát hiện vào ngày chốt lương. MySQL từ bản 8.0.16 có CHECK nhưng không có ràng buộc loại trừ theo khoảng như EXCLUDE; MongoDB để phần lớn việc kiểm tra cho mã ứng dụng.
Lớp bảo vệ thứ hai là Row-Level Security: PostgreSQL tự lọc dòng dữ liệu theo người hỏi, nên một phần mềm phục vụ nhiều doanh nghiệp (tenant) trên cùng cơ sở dữ liệu có một bức tường ở tầng dữ liệu, không chỉ dựa vào việc lập trình viên nhớ thêm điều kiện lọc vào mọi câu truy vấn. Cách ALODEV AIO dùng RLS được kể chi tiết trong bài trên blog của CEO ALODEV (liên kết cuối bài).
Một hệ thống cho nhiều loại dữ liệu
Phần mềm doanh nghiệp hiếm khi chỉ có bảng. Có cấu hình linh hoạt theo từng khách hàng (hợp với JSON), có nhật ký sự kiện theo thời gian, có ô tìm kiếm văn bản tiếng Việt, gần đây có tìm kiếm theo ngữ nghĩa cho trợ lý AI. PostgreSQL xử lý được phần lớn các nhu cầu đó bằng kiểu dữ liệu có sẵn (JSONB, mảng, khoảng thời gian, tìm kiếm toàn văn) và phần mở rộng (TimescaleDB cho chuỗi thời gian, pgvector cho vector nhúng).
ALODEV có một bằng chứng tự trả giá cho điểm này. Hạ tầng của AIO từng dựng sẵn ClickHouse, một cơ sở dữ liệu phân tích chuyên cho sự kiện số lượng lớn. Kiểm ngày 26/08/2026: không một dòng mã Go nào kết nối tới ClickHouse, cả hai bảng của nó rỗng, trong khi 96.954 sự kiện thật nằm trong PostgreSQL với phần mở rộng TimescaleDB. Thêm một cơ sở dữ liệu là thêm một thứ phải sao lưu, giám sát, nâng cấp; ở quy mô doanh nghiệp vừa, PostgreSQL thường gánh được cả phần đó.
So sánh PostgreSQL với các lựa chọn khác
| Tiêu chí | PostgreSQL | MySQL | SQL Server | MongoDB | SQLite |
|---|---|---|---|---|---|
| Giấy phép | Mã nguồn mở, không phí | GPL, có bản thương mại (Oracle) | Thương mại, có bản Express giới hạn | SSPL (bản cộng đồng) | Public domain |
| Ràng buộc dữ liệu | Đầy đủ: CHECK, khoá ngoại, EXCLUDE | CHECK từ 8.0.16, khoá ngoại (InnoDB) | Đầy đủ | Chủ yếu ở mã ứng dụng | Có, đơn giản |
| Row-Level Security | Có sẵn | Không có sẵn | Có sẵn | Không có sẵn ở mức tương đương | Không |
| JSON | JSONB, đánh chỉ mục được | Kiểu JSON | Hàm JSON, kiểu JSON riêng từ bản 2025 | Dữ liệu gốc là tài liệu JSON | Hàm JSON |
| Bản được quản lý trên cloud | Mọi nhà cung cấp lớn | Mọi nhà cung cấp lớn | Azure mạnh nhất, AWS có | MongoDB Atlas, một số cloud | Không áp dụng (chạy trong ứng dụng) |
| Tỷ lệ dev chuyên nghiệp dùng | 58,2% | 39,6% | 30,9% | 24,3% | 36,9% |
Những gì PostgreSQL không tự làm thay bạn
Chọn đúng cơ sở dữ liệu không thay được vận hành đúng. ALODEV AIO chạy production và staging trên cùng một máy chủ PostgreSQL, tách bằng hai cơ sở dữ liệu. Lần kiểm toán ngày 30/08/2026 phát hiện mỗi tiến trình backend được phép mở tối đa 90 kết nối, trong khi PostgreSQL chỉ nhận 100: hai tiến trình cùng tăng tải là vượt trần.

Loại việc tương tự: đĩa đầy làm PostgreSQL dừng ghi, sao lưu không được thử phục hồi, bản lớn hết hạn hỗ trợ mà không ai nâng. Đây là phần doanh nghiệp phải trả dù chọn cơ sở dữ liệu nào, và là lý do nhiều doanh nghiệp chọn bản PostgreSQL được quản lý trên cloud. Bài tiếp theo của series bàn chuyện tự dựng máy chủ hay thuê cloud.
Khi nào KHÔNG nên chọn PostgreSQL
- Ứng dụng chạy trên một máy, một người dùng hoặc cần chạy không có mạng (app bán hàng tại quầy, công cụ nội bộ nhỏ): SQLite gọn hơn, không cần máy chủ.
- Hệ thống xây trên nền tảng đã gắn với MySQL (WordPress, WooCommerce, Magento): giữ MySQL, đổi cơ sở dữ liệu là tự tạo việc.
- Doanh nghiệp đã đầu tư hệ sinh thái Microsoft (Dynamics, Power BI kết nối sẵn, đội quản trị SQL Server): tiếp tục SQL Server có thể rẻ hơn tính cả người vận hành.
- Phân tích trên hàng tỷ dòng sự kiện với truy vấn tổng hợp liên tục: kho dữ liệu cột như ClickHouse hay BigQuery nhanh hơn nhiều, đặt cạnh PostgreSQL chứ không thay nó.
- Bộ nhớ đệm, phiên đăng nhập, hàng đợi ngắn hạn: Redis làm việc này tốt hơn, cũng đặt cạnh PostgreSQL.
Câu hỏi thường gặp
PostgreSQL có miễn phí cho doanh nghiệp dùng thương mại không?
Có. Giấy phép PostgreSQL cho phép dùng thương mại, sửa đổi và phân phối mà không trả phí bản quyền. Chi phí thật nằm ở máy chủ, sao lưu và người vận hành, hoặc ở phí dịch vụ nếu thuê bản được quản lý trên cloud.
Nên chọn PostgreSQL hay MySQL cho phần mềm quản lý?
Dự án mới nên chọn PostgreSQL vì ràng buộc dữ liệu đầy đủ hơn, có Row-Level Security và JSONB. Dự án đang chạy tốt trên MySQL thì không cần đổi; chênh lệch không đáng công chuyển đổi và kiểm thử lại.
PostgreSQL chịu được bao nhiêu dữ liệu?
Với phần mềm doanh nghiệp vừa, giới hạn thường nằm ở dung lượng đĩa và cách đánh chỉ mục, chưa chạm tới giới hạn của PostgreSQL. Bảng hàng trăm triệu dòng vẫn chạy tốt nếu truy vấn có chỉ mục phù hợp và dữ liệu cũ được phân vùng.
Chuyển từ SQL Server hay MySQL sang PostgreSQL có khó không?
Phần dữ liệu chuyển được bằng công cụ có sẵn; phần tốn công là stored procedure, hàm riêng của từng hệ và các câu truy vấn viết theo cú pháp riêng. Cần kiểm kê những chỗ đó trước khi báo giá chuyển đổi.
Thuê phần mềm dùng PostgreSQL thì cần hỏi đơn vị làm những gì?
Hỏi bản PostgreSQL đang dùng và ngày hết hỗ trợ, lịch sao lưu và lần thử phục hồi gần nhất, luật nghiệp vụ nào được đặt thành ràng buộc trong cơ sở dữ liệu, và dữ liệu có xuất được bằng pg_dump khi đổi nhà cung cấp không.





