Home Máy chủ Linux Hướng dẫn cài đặt PostgreSQL trên CentOS 7

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

by
Published: Last Updated on
A+A-
Reset

Hướng dẫn cài đặt PostgreSQL trên CentOS 7 với vài thao tác đơn giản cùng AZDIGI.

I. Giới thiệu

PostgreSQL đã tự đưa ra tuyên bố rằng họ là “Cơ sở dữ liệu mã nguồn mở tiên tiến nhất thế giới”. Vậy điều gì khiến cho PostgreSQL tự tin đến vây? Thì ở bài viết này ta sẽ tìm hiểu Postgresql là gì và những tính năng nổi bật giúp Postgresql trở nên mạnh mẽ trên toàn thế giới trong bài viết sau.

PostgreSQL là gì?

PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ đối tượng (object-relational database management system) có mục đích chung, hệ thống cơ sở dữ liệu mã nguồn mở tiên tiến nhất hiện nay.

PostgreSQL được phát triển dựa trên POSTGRES 4.2 tại phòng khoa học máy tính Berkeley, Đại học California. PostgreSQL được thiết kế để chạy trên các nền tảng tương tự UNIX. Tuy nhiên, PostgreSQL sau đó cũng được điều chỉnh linh động để có thể chạy được trên nhiều nền tảng khác nhau như Mac OS X, Solaris và Windows.

PostgreSQL là một phần mềm mã nguồn mở miễn phí. Mã nguồn của phần mềm khả dụng theo license của PostgreSQL, một license mã nguồn mở tự do. Theo đó, bạn sẽ được tự do sử dụng, sửa đổi và phân phối PostgreSQL dưới mọi hình thức.

PostgreSQL không yêu cầu quá nhiều công tác bảo trì bởi có tính ổn định cao. Do đó, nếu bạn phát triển các ứng dụng dựa trên PostgreSQL, chi phí sở hữu sẽ thấp hơn so với các hệ thống quản trị dữ liệu khác.

Vì sao sử dụng PostgreSQL?

PostgreSQL sở hữu một hệ tính năng đa dạng giúp hỗ trợ các nhà phát triển xây dựng app, các nhà quản trị bảo vệ toàn vẹn dữ liệu, và tạo ra một môi trường chịu lỗi fault-tolerant giúp bạn quản lý dữ liệu bất kể tập dữ liệu lớn hay nhỏ. Bên cạnh hệ thống nguồn mở và miễn phí, PostgreSQL cũng có khả năng mở rộng tuyệt vời.

PostgreSQL tuân theo tiêu chuẩn SQL nhưng không mâu thuẫn với các tính năng truyền thống hay có thể dẫn đến các quyết định kiến trúc gây hại. Nhiều tính năng theo tiêu chuẩn SQL được hỗ trợ, tuy nhiên đôi khi có thể có cú pháp hoặc hàm hơi khác một chút.

PostgreSQL9

 Một số tính năng đa dạng của PostgreSQL

1. Kiểu dữ liệu:

  • Nguyên hàm: Số nguyên, số, chuỗi, Boolean
  • Cấu trúc: Date/Time, Array, Phạm vi, UUID
  • Document: JSON/JSONB, XML, Key-value (Hstore)
  • Hình học: Điểm, Đường thẳng, Vòng tròn, Đa giác
  • Tùy chỉnh: Composite, Các kiểu tùy chỉnh

2. Toàn vẹn dữ liệu:

  • UNIQUE, NOT NULL
  • Primary Keys
  • Foreign Keys
  • Ràng buộc loại trừ
  • Khóa hàm số/ Explicit Locks, Khóa khuyến nghị/ Advisory Locks

3. Đồng quy, hiệu suất:

  • Lập danh mục: B-tree, Multicolumn, Expressions, Partial
  • Lập danh mục nâng cao: GiST, SP-Gist, KNN Gist, GIN, BRIN, Bloom filters
  • Trình lập kế hoạch / trình tối ưu hóa truy vấn phức tạp, quét index-only, thống kê số liệu trên nhiều cột.
  • Giao tác, Giao tác dạng nest (thông qua lưu điểm)
  • Điều khiển đồng thời nhiều phiên bản (MVCC)
  • Truy vấn đọc song song
  • Phân vùng bảng
  • Tất cả các mức độ giao dịch độc lập được xác định trong tiêu chuẩn SQL, bao gồm cả Serializable
  • Độ tin cậy, phục hồi sau thảm hoạ
  • Ghi nhật ký ghi trước (Write-ahead Logging – WAL)
  • Replication: Không đồng bộ, Đồng bộ, Logical
  • Khôi phục điểm-theo-thời gian (Point-in-time-recovery – PITR), active standbys
  • Không gian bảng
  • Bảo mật: Xác thực: GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate và các hình thức khác , Hệ thống kiểm soát truy cập mạnh mẽ, Bảo mật cấp độ cột và hàng
  • Ngôn ngữ thủ tục: PL / PGSQL, Perl, Python (và nhiều ngôn ngữ khác)
  • Trình wrapper dữ liệu ngoài: kết nối với các cơ sở dữ liệu hoặc luồng khác với giao diện SQL chuẩn
  • Tìm kiếm văn bản: Hỗ trợ các bộ ký tự quốc tế, ví dụ: thông qua ICU collations , Tìm kiếm văn bản đầy đủ

Để hiểu rõ hơn về PostgreSQL  các bạn có thể tham khảo thêm thông tin tại trang chủ: Tại đây

II. Hướng dẫn cài đặt

Để cài đặt PostgreSQL trên CentOS 7 các bạn có thể thực hiện theo 4 bước sau.

Bước 1: SSH vàoVPS của bạn

Để cài đặt PostgreSQL , đầu tiên chúng ta cần SSH hoặc truy cập VPS hoặc máy chủ của bạn với quyền root . Nếu bạn chưa biết cách SSH vào VPS hoặc Server của bạn thì bạn có thể tham khảo bài viết hướng dẫn sau:

Sau khi đã SSH thành công chúng ta tiếp tục với bước 2 để Cài đặt PostgreSQL.

Bước 2: Cài đặt PostgreSQL

Tại thời điểm mình viết bài này, phiên bản mới nhất của PostgreSQL đang là phiên bản 13. Trước khi đi vào cài đặt các bạn có thể kiểm tra lại xem PostgreSQL Yum Repository đã có phiên bản mới nào khác chưa và có thể cài đặt theo bản mới nhé.

  • Kích hoạt kho lưu trữ PostgreSQL
AZDIGI Tutorial
yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
PostgreSQL
  • Cài đặt PostgreSQL

Khi kích hoạt xong kho lưu trữ, bạn chạy lệnh sau để cài đặt PostgreSQL:

AZDIGI Tutorial
yum -y install postgresql13 postgresql13-server
    
PostgreSQL1
  • Khởi tạo cơ sở dữ liệu

Để khởi tạo loại cơ sở dữ liệu PostgreSQL hãy chạy lệnh sau:

AZDIGI Tutorial
/usr/pgsql-13/bin/postgresql-13-setup initdb
    
PostgreSQL2
  • Khởi động PostgreSQL
AZDIGI Tutorial
systemctl enable postgresql-13     (Khởi động PostgreSQL cùng hệ thống)
systemctl start postgresql-13      (Khởi động PostgreSQL )
systemctl status postgresql-13     (Trạng thái PostgreSQL )
    
PostgreSQL3

Bước 3: Roles và phương thức xác thực của PostgreSQL

Quyền truy cập cơ sở dữ liệu trong PostgreSQL được xử lý với khái niệm Roles. Một Roles có thể đại diện cho người dùng hoặc một nhóm người dùng.

PostgreSQL hỗ trợ nhiều phương thức xác thực. Các phương pháp được sử dụng phổ biến nhất là:

  • Trust – Với phương thức này, Role có thể kết nối mà không cần mật khẩu, miễn là các tiêu chí được xác định trong pg_hba.conf được đáp ứng.
  • Password – Một Role có thể kết nối bằng cách cung cấp mật khẩu. Mật khẩu có thể được lưu trữ dưới dạng scram-sha-256, md5 hoặc dạng text không mã hoá.
  • Ident – Phương pháp này chỉ được hỗ trợ trên các kết nối TCP/IP. Nó hoạt động bằng cách lấy tên người dùng hệ điều hành khách hàng, với ánh xạ tên người dùng tùy chọn.
  • Peer – Tương tự như Ident nhưng nó chỉ hỗ trợ trên các kết nối nội bộ (Local).

Xác thực ứng dụng khách PostgreSQL được xác định trong tệp cấu hình có tên pg_hba.conf. Theo mặc định, đối với các kết nối nội bộ (Local), PostgreSQL sẽ sử dụng phương thức xác thực Peer.

User postgres được tạo tự động khi bạn cài đặt PostgreSQL. Người dùng này là superuser của PostgreSQL và nó tương đương với người dùng root trong MySQL.

Để đăng nhập vào máy chủ PostgreSQL với tư cách là User postgres, trước tiên bạn cần chuyển sang user postgres và sau đó truy cập vào dấu nhắc PostgreQuery bằng tiện ích psql:

AZDIGI Tutorial
sudo su - postgres
psql
    
PostgreSQL4

Bạn cũng có thể truy cập PostgreSQL mà không cần chuyển đổi người dùng bằng lệnh sudo:

AZDIGI Tutorial
sudo -u postgres psql
    
PostgreSQL5

Người dùng postgres thường chỉ được sử dụng với kết nối nội bộ (Local) và không nên đặt mật khẩu cho người dùng này.

Bước 4: Tạo Role và cơ sở dữ liệu PostgreSQL

Chỉ có superuser và user có đặc quyền CREATEROLE mới có thể tạo ra Roles mới.

Trong ví dụ sau, ta sẽ tạo một Roles mới có tên là kythuat  và một cơ sở dữ liệu có tên kythuat_data sau đó cấp các đặc quyền trên cơ sở dữ liệu.

  • Kết nối với Shell PostgreSQL
AZDIGI Tutorial
sudo -u postgres psql
    
  • Tạo một Roles PostgreSQL mới

Lệnh sau sẽ tạo một Roles mới có tên kythuat:

AZDIGI Tutorial
create role kythuat;
    
PostgreSQL6

  • Tạo cơ sở dữ liệu PostgreSQL mới

Tạo một cơ sở dữ liệu mới có tên kythuat_data bằng lệnh createdb:

AZDIGI Tutorial
create database kythuat_data;
    
PostgreSQL7
  • Cấp quyền

Để cấp quyền cho người dùng kythuat trên cơ sở dữ liệu kythuat_data đã tạo ở bước trước, hãy chạy truy vấn sau:

AZDIGI Tutorial
grant all privileges on database kythuat_data to kythuat;
    
PostgreSQL8

III. Tổng kết

Như vậy ở bài viết này AZDIGI đã hướng dẫn bạn cách cài đặt nhanh PostgreSQL trên CenOS 7, để bạn có thể trải nghiệm một bộ mã nguồn mở quản trị cơ sở dữ liệu được cho là mạnh mẽ nhất hiện nay.

Nếu thấy bài viết hữu ích, hãy chia sẻ rộng rãi đến mọi người để cùng biết cách cài đặt nhé. Ngoài ra Các bạn có thể xem qua một số bài viết khác về kiến thức Linux tại link bên dưới

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:

5/5 - (1 vote)

Tham gia nhóm hỗ trợ Server - Hosting

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Bài viết cùng chuyên mục

AZDIGI – Không chỉ là đơn vị hàng đầu trong lĩnh vực Web Hosting và Máy chủ, chúng tôi mong muốn mang lại những kiến thức bổ ích nhất và luôn cập nhật thường xuyên cho cộng đồng người đam mê thiết kế website, công nghệ,…

Vui lòng không sao chép nội dung nếu chưa xin phép. Designed and Developed by PenciDesign