Thứ Năm, 5 tháng 2, 2026

Hướng dẫn cài đặt PostgreSQL trên Linux

Hãy quên đi cơn ác mộng thiết lập cơ sở dữ liệu. Bạn biết rõ rồi đấy—tài liệu khó hiểu, thông báo lỗi khó giải thích, và cảm giác chán nản khi thời gian trôi qua từng ngày.

Nhưng PostgreSQL thì khác.

Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở đơn giản nhưng mạnh mẽ này kết hợp các tính năng cấp doanh nghiệp với sự đơn giản đáng ngạc nhiên. Đó là lý do tại sao các nhà phát triển và quản trị viên cơ sở dữ liệu (DBA) luôn chọn PostgreSQL khi họ cần hiệu năng cao mà không gặp phải những rắc rối trong quá trình thiết lập.

Trong bài viết này, tôi sẽ đơn giản hóa vấn đề, hướng dẫn bạn cách cài đặt PostgreSQL trên các hệ thống sau:

  • Gia đình Red Hat

  • Họ Debian

  • FreeBSD

Hãy cùng điểm qua nhanh những điểm khác biệt chính giữa các bản phân phối Linux phổ biến này trước khi cài đặt PostgreSQL để bạn có thể thiết lập và vận hành cơ sở dữ liệu trước khi cà phê nguội.

MỤC LỤC

Giới thiệu
Cài đặt PostgreSQL trên Linux: Sự khác biệt giữa các hệ điều hành Red Hat, Debian và FreeBSD
    Yêu cầu hệ thống
Cài đặt PostgreSQL trên hệ điều hành Red Hat Family
1. Thêm kho lưu trữ PostgreSQL
2. Vô hiệu hóa mô-đun PostgreSQL mặc định
3. Cài đặt máy chủ PostgreSQL
4. Khởi tạo cơ sở dữ liệu
5. Cho phép PostgreSQL khởi động cùng hệ thống
6. Khởi động dịch vụ PostgreSQL
Cài đặt PostgreSQL trên hệ điều hành Debian Family
Cấu hình kho lưu trữ tự động
Cấu hình kho lưu trữ thủ công
1. Cài đặt các gói phần mềm cần thiết
2. Tạo thư mục cho các tệp kho lưu trữ PostgreSQL
3. Tải xuống khóa ký kho lưu trữ
4. Tạo tệp cấu hình kho lưu trữ
Cài đặt PostgreSQL
Cài đặt PostgreSQL trên FreeBSD
1. Chuyển sang người dùng root
2. Cài đặt gói máy chủ PostgreSQL
3. Cho phép PostgreSQL khởi động cùng hệ thống
4. Khởi tạo thư mục dữ liệu PostgreSQL
5. Khởi động dịch vụ PostgreSQL
Xác minh cài đặt

Cài đặt PostgreSQL trên Linux: Sự khác biệt giữa các hệ điều hành Red Hat, Debian và FreeBSD

Dưới đây là bảng tóm tắt một số điểm khác biệt chính giữa các hệ điều hành Linux thuộc họ Red Hat, Debian và FreeBSD.

Tính năng

Gia đình Red Hat

Họ Debian

FreeBSD

Trình quản lý gói

ngon

bỏ cuộc

căn hộ

apt-get

gói

cảng

Hệ thống khởi tạo

Systemd

Systemd

Khởi tạo BSD (tập lệnh rc)

Hạt nhân

Linux

Linux

FreeBSD

Cấp phép

GPL (với các tiện ích bổ sung độc quyền)

GPL và các giấy phép phần mềm mã nguồn mở khác

Giấy phép BSD

Ví dụ về phân phối

RHEL

CentOS

AlmaLinux

Rocky Linux

Oracle Linux

Fedora

Ubuntu

Linux Mint

Debian

FreeBSD

Cơ chế cập nhật

cập nhật dnf

cập nhật yum

cập nhật apt 

nâng cấp căn hộ

cập nhật freebsd 

nâng cấp gói


Yêu cầu hệ thống

Bạn có thể cài đặt PostgreSQL ngay cả trên các máy chủ đám mây nhỏ nhất. Ví dụ, bạn có thể dễ dàng cài đặt nó trên máy chủ t2.micro chỉ với 1 lõi CPU và 1 GB RAM. 

Trên Timescale Cloud , PostgreSQL thậm chí có thể chạy trên một máy chủ tối thiểu chỉ với 0,5 lõi CPU. 

Điều này cho thấy PostgreSQL rất hiệu quả và không yêu cầu nhiều tài nguyên để hoạt động. Bây giờ, chúng ta hãy chuyển sang phần cài đặt PostgreSQL trên Linux.

Lưu ý : Hướng dẫn này giả định rằng các máy ảo của bạn có kết nối internet hoạt động để tải xuống các gói cần thiết.

Cài đặt PostgreSQL trên hệ điều hành Red Hat Family

Hãy truy cập vào đường dẫn này và chọn các tùy chọn phù hợp với nhu cầu của bạn. Dưới đây là những lựa chọn tôi đã chọn cho mỗi tùy chọn:

  • Phiên bản PostgreSQL = 17

  • Nền tảng = Red Hat Enterprise, Rocky, AlmaLinux hoặc Oracle phiên bản 9

  • Kiến trúc = x86_64

Sau khi bạn chọn các thông tin cần thiết, các lệnh cài đặt cần thiết sẽ được hiển thị. Bạn có thể sao chép và dán chúng vào cửa sổ dòng lệnh để bắt đầu cài đặt. 

Dưới đây là giải thích về chức năng của từng lệnh.

Lưu ý : Nếu bạn đang sử dụng RHEL 8 hoặc Fedora, bạn nên dùng dnf để cài đặt PostgreSQL, vì đây là trình quản lý gói tiêu chuẩn cho các hệ thống mới hơn. Tuy nhiên, trên RHEL/CentOS 7, bạn có thể dùng yum để cài đặt gói.

1. Thêm kho lưu trữ PostgreSQL

Cài đặt kho lưu trữ của Nhóm Phát triển Toàn cầu PostgreSQL (PGDG), điều này sẽ cho phép bạn cài đặt các phiên bản PostgreSQL không có trong các kho lưu trữ mặc định của Red Hat Family.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2. Vô hiệu hóa mô-đun PostgreSQL mặc định

Mô-đun PostgreSQL mặc định trong Red Hat Family có thể cung cấp phiên bản cũ hơn. Lệnh sau sẽ vô hiệu hóa nó ( -qngăn chặn đầu ra và -ytự động xác nhận).

sudo dnf -qy module disable postgresql

3. Cài đặt máy chủ PostgreSQL

Bước này sẽ cài đặt máy chủ PostgreSQL 17 từ kho lưu trữ PGDG.

sudo dnf install -y postgresql17-server

Giờ PostgreSQL đã được cài đặt trên hệ thống của bạn, chúng ta cần khởi tạo thư mục dữ liệu.

4. Khởi tạo cơ sở dữ liệu

Lệnh sau được sử dụng để thiết lập thư mục dữ liệu và các tệp cấu hình của PostgreSQL.

sudo /usr/pgsql-17/bin/postgresql-17-setup initdb

Lưu ý : Hãy thay thế số 17 trong lệnh trên bằng phiên bản PostgreSQL mà bạn đã cài đặt.

5. Cho phép PostgreSQL khởi động cùng hệ thống

Lệnh này đảm bảo rằng PostgreSQL sẽ tự động khởi động sau khi hệ thống khởi động lại.

sudo systemctl enable postgresql-17

6. Khởi động dịch vụ PostgreSQL

Bước này khởi động máy chủ cơ sở dữ liệu PostgreSQL.

sudo systemctl start postgresql-17

Cài đặt PostgreSQL trên hệ điều hành Debian Family

Hệ điều hành Debian Family bao gồm PostgreSQL theo mặc định. 

Một số phiên bản gói PostgreSQL đã được bao gồm trong kho lưu trữ mặc định của hệ điều hành Debian, cho phép bạn cài đặt chúng mà không cần phải cấu hình thêm kho lưu trữ nào khác.

Bạn có thể sử dụng lệnh này để tìm hiểu phiên bản gói PostgreSQL nào có sẵn trên hệ thống của mình. 

apt-cache policy postgresql Nếu phiên bản hiện có đáp ứng nhu cầu của bạn, bạn có thể cài đặt trực tiếp bằng lệnh này:

apt install postgresql Nếu không, bạn cần thiết lập kho lưu trữ PGDG để cài đặt phiên bản PostgreSQL không có sẵn trong các kho lưu trữ mặc định của Debian Family. 

Việc này có thể được thực hiện bằng cách sử dụng một tập lệnh tự động do cộng đồng cung cấp hoặc bằng cách cấu hình thủ công kho lưu trữ.

Cấu hình kho lưu trữ tự động

Lệnh cấu hình kho lưu trữ tự động cài đặt các tiện ích chung của PostgreSQL, bao gồm các tập lệnh và tệp cấu hình cần thiết để quản lý nhiều phiên bản PostgreSQL trên các hệ thống dựa trên Debian Family. 

sudo apt install -y postgresql-common Lệnh trên sẽ đặt một tệp kịch bản vào hệ thống. Chạy tệp này sẽ tự động thiết lập kho lưu trữ PGDG cho hệ thống của chúng ta.

sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

Cấu hình kho lưu trữ thủ công

Nếu bạn muốn kiểm soát nhiều hơn cấu hình kho lưu trữ của mình, bạn cũng có thể chọn phương pháp thủ công, trong đó bạn cần thực hiện một vài lệnh để cài đặt PostgreSQL.

1. Cài đặt các gói phần mềm cần thiết

Cài đặt các gói cần thiết, chẳng hạn như curl (một công cụ để tải xuống các tệp từ Internet) và chứng chỉ ca (đảm bảo giao tiếp an toàn với các nguồn HTTPS). 

sudo apt install curl ca-certificates

2. Tạo thư mục cho các tệp kho lưu trữ PostgreSQL

Tiếp theo, chúng ta cần tạo một thư mục để lưu trữ các tệp kho lưu trữ PostgreSQL, bao gồm cả khóa ký.

sudo install -d /usr/share/postgresql-common/pgdg 

3. Tải xuống khóa ký kho lưu trữ

Lệnh sau tải xuống khóa ký xác thực kho lưu trữ PostgreSQL và lưu nó vào thư mục đã tạo trước đó. Khóa ký xác thực đảm bảo rằng các gói PostgreSQL đã tải xuống là chính hãng và không bị giả mạo.

sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 

4. Tạo tệp cấu hình kho lưu trữ

Lệnh này thêm kho lưu trữ PostgreSQL vào danh sách nguồn gói của hệ thống. Nó đảm bảo rằng hệ điều hành Debian Family tải các gói PostgreSQL từ kho lưu trữ chính thức của Nhóm Phát triển Toàn cầu PostgreSQL (PGDG).

sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Cài đặt PostgreSQL

Sau khi thiết lập kho lưu trữ thành công, bước tiếp theo là cài đặt PostgreSQL.

sudo apt -y install postgresql

Nếu bạn muốn cài đặt một phiên bản khác với phiên bản mới nhất, hãy tuân theo quy ước này, trong đó PostgreSQL 15 là phiên bản chính của PostgreSQL được yêu cầu.

sudo apt -y install postgresql-15

Cài đặt PostgreSQL trên FreeBSD

Kho lưu trữ chính thức của FreeBSD bao gồm các gói PostgreSQL theo mặc định, và các gói này có thể được cài đặt bằng trình quản lý gói pkg.

1. Chuyển sang người dùng root

Vì chúng ta đang cài đặt gói máy chủ PostgreSQL, nên cần quyền root. Sử dụng lệnh sau để chuyển sang người dùng root.

su - or sudo su - 

2. Cài đặt gói máy chủ PostgreSQL

Để cài đặt các gói máy khách và máy chủ PostgreSQL, hãy sử dụng lệnh sau:

pkg install postgresql17-server

Bạn có thể kiểm tra các phiên bản PostgreSQL hiện có bằng lệnh sau:

pkg search postgresql Sau khi tải xuống các gói, một người dùng và một nhóm có tên tương ứng Postgressẽ được tạo.

3. Cho phép PostgreSQL khởi động cùng hệ thống

Sau khi cài đặt PostgreSQL—nhưng trước khi khởi tạo máy chủ—chúng ta cần cho phép nó tự động khởi chạy khi hệ thống khởi động bằng cách thêm postgresql_enable="YES"vào tệp rc.conf của hệ thống. Điều này đảm bảo rằng PostgreSQL sẽ tự động chạy mỗi khi hệ thống khởi động lại mà không cần can thiệp thủ công.

sysrc postgresql_enable=YES

4. Khởi tạo thư mục dữ liệu PostgreSQL

Sau khi cài đặt PostgreSQL, bước tiếp theo, tương tự như các sản phẩm của Red Hat Family, là khởi tạo thư mục dữ liệu trước khi khởi chạy dịch vụ. Sử dụng lệnh sau để khởi tạo:

service postgresql initdb

5. Khởi động dịch vụ PostgreSQL

Bạn đã hoàn tất quá trình cài đặt và cấu hình PostgreSQL. Bây giờ, đã đến lúc khởi động dịch vụ. Sử dụng lệnh sau để thực hiện.

service postgresql start

Xác minh cài đặt

Sau khi cài đặt PostgreSQL, bạn nên kiểm tra xem máy chủ đã được cài đặt và hoạt động thành công hay chưa. Nếu quá trình cài đặt thất bại, nhật ký lỗi sẽ xuất hiện khi thực hiện các lệnh cài đặt. Tuy nhiên, ngay cả khi không có lỗi nào được hiển thị, việc kiểm tra lại vẫn luôn là một việc làm tốt.

Chạy lệnh sau trong terminal để kiểm tra trạng thái của dịch vụ PostgreSQL. Nếu bạn thấy "Active: active" và không có lỗi nào trong nhật ký dịch vụ, thì mọi thứ đã được thiết lập đúng cách. Lệnh này hoạt động trên tất cả các bản phân phối.

sudo service postgresql status

Kết nối với PostgreSQL

Tiếp theo, chúng ta sẽ kết nối với máy chủ PostgreSQL vừa được cài đặt. Để làm điều này, hãy chuyển sang postgresngười dùng và chạy lệnh sau, lệnh này sẽ kết nối bạn với PostgreSQL:

sudo su postgres —- Switch the user to Postgres

postgres@ip-172-31-94-95:/home/ubuntu$ psql —- Connect with PostgreSQL psql (17.4 (Ubuntu 17.4-1.pgdg24.04+2)) Type "help" for help. postgres=#

Lưu ý : Tôi đã cài đặt PostgreSQL 17.4 trên máy ảo Ubuntu 24.04 của mình, đó là lý do tại sao tiện ích psql hiển thị thông tin phiên bản cụ thể này. Nếu bạn đang sử dụng phiên bản PostgreSQL khác hoặc bản phân phối khác, thông tin hiển thị sẽ phản ánh hệ thống của bạn cho phù hợp.

Phần kết luận 

Chỉ với một vài lệnh đơn giản, bạn đã cài đặt và cấu hình xong một phiên bản PostgreSQL. Không cần phải trải qua các phiên khắc phục sự cố dài dòng, không có thông báo lỗi khó hiểu—chỉ cần một cơ sở dữ liệu mạnh mẽ sẵn sàng hoạt động.

PostgreSQL thực sự khác biệt.

Cần một giải pháp nhanh hơn nữa? Timescale Cloud cung cấp dịch vụ quản lý hoàn toàn PostgreSQL chỉ trong vài giây—không cần cài đặt. Bạn sẽ nhận được độ tin cậy cấp doanh nghiệp, sao lưu tự động và tối ưu hóa chuỗi thời gian mà không cần phải quản lý cơ sở hạ tầng.

=============================
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master