Thứ Năm, 27 tháng 7, 2023

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

Nội dung

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

.

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 . 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
  
VietDBA 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:

  
VietDBATutorial
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:

  
VietDBATutorial
/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:

  
VietDBA 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:

  
VietDBATutorial
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
  
VietDBATutorial
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:

  
VietDBATutorial
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:

  
VietDBATutorial
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:

  
VietDBA 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 tôi đã 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.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* 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
=============================
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

=============================
Hướng dẫn cài đặt PostgreSQL trên CentOS 7, 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, 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, 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