Cách cài đặt và cấu hình PostgreSQL trên Ubuntu

Tác giả: VPS chính hãng 07 tháng 07, 2023

PostgreSQL là một trong những hệ thống quản lý cơ sở dữ liệu nổi tiếng và phổ biến nhất, đã trở thành một công cụ thiết yếu để truy cập và quản lý thông tin của người dùng. Tất cả người dùng cần hệ thống quản lý cơ sở dữ liệu để tổ chức, bảo vệ, quản lý và kiểm soát dữ liệu tốt hơn. Hệ quản trị cơ sở dữ liệu là công cụ để tổ chức và quản lý thông tin được lưu trữ trong cơ sở dữ liệu. PostgreSQL hoặc Postgres là một hệ thống cơ sở dữ liệu quan hệ mạnh mẽ và đáng tin cậy, được triển khai dựa trên ngôn ngữ truy vấn SQL. Hệ thống này cung cấp nhiều tính năng nâng cao, bao gồm các giao dịch an toàn và đồng thời mà không cần read lock. Bài viết này sẽ hướng dẫn cách cài đặt và định cấu hình PostgreSQL trên máy chủ Ubuntu 22.04 bằng một ngôn ngữ đơn giản. Hãy cùng theo dõi!

Các bước cài đặt PostgreSQL trên Ubuntu 22.04

Điều kiện tiên quyết

Để định cấu hình và sử dụng PostgreSQL, bạn cần mua một VPS Linux có cấu hình hệ điều hành Ubuntu 22.04. Sau đó định cấu hình tường lửa mạnh trên máy chủ Ubuntu và làm theo hướng dẫn bên dưới với quyền của người dùng sudo. Các gói PostgreSQL có sẵn để cài đặt và cấu hình trong kho Ubuntu. Vì vậy, bạn có thể sử dụng hệ thống đóng gói apt để cài đặt PostgreSQL.

Bước 1: Cập nhật các gói hệ thống

Nếu gần đây bạn chưa cập nhật các gói hệ thống của mình, trước tiên hãy cập nhật các gói hệ thống của bạn. Nhấn các nút CTRL + ALT + T cùng lúc và cập nhật danh sách gói cục bộ của máy chủ của bạn bằng lệnh sau:

sudo apt update

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

Sau đó, để hưởng lợi từ các chức năng bổ sung, hãy cài đặt gói PostgreSQL cùng với gói -contrib trên máy chủ Ubuntu 22.04 bằng lệnh:

sudo apt install postgresql postgresql-contrib

Output:

Kết quả hiển thị cài đặt gói PostgreSQL 

Kết quả hiển thị cài đặt gói PostgreSQL

Output:

Cài đặt gói thành công trên máy chủ Ubuntu

Cài đặt gói thành công trên máy chủ Ubuntu

Bước 3: Bắt đầu dịch vụ PostgreSQL

Sau khi cài đặt gói PostgreSQL, hãy chạy lệnh systemctl start để bắt đầu dịch vụ PostgreSQL:

sudo systemctl start postgresql.service

Cho đến thời điểm này, bạn đã có thể cài đặt và chạy PostgreSQL trên máy chủ Ubuntu 22.04. Bước tiếp theo là định cấu hình nó trên máy chủ Ubuntu để bạn có thể áp dụng các cài đặt mong muốn cho phần mềm.

=>> Cách cài đặt LOMP trên Ubuntu

Định cấu hình PostgreSQL trên Ubuntu

Để kiểm soát quyền và xác thực PostgreSQL sử dụng vai trò theo mặc định. Mặc dù có những điểm tương đồng ở một số khía cạnh với các tài khoản kiểu Unix tiêu chuẩn, nhưng không phân biệt giữa người dùng và nhóm. Xác thực ngang hàng được đặt theo mặc định trong cấu hình PostgreSQL để liên kết các vai trò Postgres cụ thể với các tài khoản hệ thống Unix/Linux tương ứng. Vì vậy, tên người dùng Unix/Linux có cùng tên có thể được nhập làm bất kỳ vai trò nào đã tồn tại trong Postgres. Tài khoản người dùng có tên Postgres được tạo trong quá trình cài đặt và được kết nối với vai trò Postgres theo mặc định. Bạn có thể đăng nhập vào tài khoản đó để sử dụng hệ thống.

Bước 1: Truy cập Postgres

Có một số cách để truy cập Postgres bằng tài khoản người dùng Postgres:

  • Truy cập Postgres bằng cách chuyển sang tài khoản Postgres

Nhập lệnh sau để đăng nhập vào tài khoản Postgres trên máy chủ của bạn:

sudo -i -u postgres

Sau đó gõ lệnh sau để truy cập cơ sở dữ liệu PostgreSQL:

psql

Bạn có thể giao tiếp với hệ quản trị cơ sở dữ liệu thông qua lệnh trên. Để thoát PostgreSQL và quay lại dòng lệnh người dùng Linux Postgres, hãy nhập lệnh sau:

Postgres=#\q
  • Truy cập vào Postgres Prompt mà không cần phải chuyển đổi tài khoản

Cần lưu ý rằng có thể thực hiện trực tiếp bất kỳ lệnh nào bạn muốn với tài khoản Postgres bằng sudo. Ví dụ: nếu bạn cần chuyển sang người dùng Postgres và sau đó sử dụng lệnh psql để truy cập Postgres Prompt, bạn nên thực hiện việc này với tư cách là người dùng Postgres bằng sudo và chạy lệnh psql như sau:

sudo -u postgres psql

Do đó, Postgres có thể được truy cập trực tiếp mà không cần bash shell thông qua lệnh trên. Để thoát Postgres, gõ lệnh sau:

Postgres=#\q

Bước 2: Tạo New Role

New Role của Postgres được đặt và tạo trong cơ sở dữ liệu, nhưng để tạo new role, bạn phải sử dụng lệnh createuser. flag – interactive nhắc bạn chỉ định tên của new role và hỏi xem có cần có quyền siêu người dùng cho vai trò này không.

Sau khi truy cập tài khoản Postgres, hãy nhập lệnh sau để tạo new role:

createuser –interactive

Nếu bạn muốn chạy trực tiếp bất kỳ lệnh nào bằng sudo mà không cần chuyển sang tài khoản bình thường của mình, hãy nhập lệnh sau:

sudo -u postgres createuser –interactive

Với sự trợ giúp của tập lệnh này, bạn có thể đưa ra lựa chọn của riêng mình khi được hỏi, để các lệnh Postgres sẽ tạo người dùng có thông số kỹ thuật của bạn theo câu trả lời bạn đã đưa ra. Vì vậy, hãy chỉ định tên của new role và cấp quyền siêu người dùng nó.

Output:

Enter name of role to add: vpschinhhang

Shall the new role be a superuser? (y/n) y

Lưu ý: trong ví dụ, chúng tôi đã đặt tên của new role là vpschinhhang.

Bạn cũng có thể sử dụng các flag bổ sung để kiểm soát nhiều hơn. Trang man cho lệnh createuser cho phép bạn kiểm tra các tùy chọn:

man createuser

Tại thời điểm này, bạn đã thêm thành công một người dùng mới vào phần mềm Postgres.

Bước 3: Tạo cơ sở dữ liệu mới

Chức năng của Postgres trong xác thực là tạo một cơ sở dữ liệu mới có cùng tên với new role cho mỗi new role được tạo để đăng nhập để người dùng mới có thể kết nối với cơ sở dữ liệu mới của mình.

Vì vậy, để tạo cơ sở dữ liệu, trước tiên, hãy đăng nhập vào tài khoản Postgres rồi nhập lệnh sau:

created   vpschinhhang

Nhưng nếu bạn muốn thực hiện các lệnh bằng sudo mà không thay đổi tài khoản bình thường, hãy gõ lệnh sau:

sudo -u postgres createdb vpschinhhang

Bước 4: Mở Postgres Prompt với New Role

Người dùng Linux có thể vào hệ thống Postgres bằng xác thực ngang hàng bằng cách nhập tên role và Postgres database. Nếu bạn không có quyền truy cập vào tên role và Postgres database mà chúng tôi đã tạo ở các bước trước, bạn sẽ phải tạo một người dùng mới.

Để thực hiện việc này, hãy sử dụng tài khoản không phải root có đặc quyền Sudo (nghĩa là không đăng nhập với tư cách người dùng tài khoản Postgres):

sudo adduser vpschinhhang

Sau khi tạo tài khoản người dùng mới để kết nối với cơ sở dữ liệu, hãy nhập lệnh sau:

sudo -i -u vpschinhhang psql

Bạn thậm chí có thể nhập lệnh theo cách sau:

sudo -u vpschinhhang psql

Nếu bạn có cấu hình chính xác, bạn sẽ tự động truy cập cơ sở dữ liệu mong muốn bằng cách chạy các lệnh trên. Nếu bạn định kết nối với cơ sở dữ liệu khác, hãy chỉ định cơ sở dữ liệu mong muốn như sau:

psql -d postgres

Khi bạn đã kết nối với cơ sở dữ liệu mong muốn, bạn có thể muốn kiểm tra thông tin kết nối của mình. Kiểm tra này có thể giúp bạn rất nhiều khi bạn kết nối với tên người dùng không mặc định hoặc cơ sở dữ liệu không mặc định. Với mục đích này, hãy nhập lệnh sau:

\conninfo

Output:

You are connected to database "vpschinhhang" as user "vpschinhhang" via socket in "/var/run/postgresql" at port "5531".

Bước 5: Tạo và xóa bảng

Cho đến bước này bạn có thể dễ dàng kết nối với cơ sở dữ liệu PostgreSQL. Sau đây, chúng tôi sẽ chia sẻ một số tác vụ quản trị trong PostgreSQL để giúp công việc của các quản trị viên PostgreSQL dễ dàng hơn.

Để tạo bảng, cú pháp cơ bản như sau:

CREATE TABLE table_name (

    column_name1 col_type (field_length) column_constraints,

    column_name2 col_type (field_length),

    column_name3 col_type (field_length)

);

Sử dụng lệnh trên, bạn chỉ định tên cho bảng mà bạn đã tạo và lệnh này đặt các cột và loại cột cũng như độ dài tối đa của dữ liệu trong mỗi trường. Ngoài các tính năng này, bạn cũng có thể xác định các hạn chế bổ sung cho từng cột.

Để kiểm tra bảng mới bạn đã tạo, hãy nhập lệnh sau:

\d

Để kiểm tra bảng mà không cần xem trình tự, hãy nhập lệnh sau:

\dt

Vì vậy, bạn đã có thể tạo bảng mong muốn với các thông số kỹ thuật bạn muốn.

Tạo bảng sẽ giúp tác vụ quản trị trong PostgreSQL trở nên dễ dàng hơn

Tạo bảng sẽ giúp tác vụ quản trị trong PostgreSQL trở nên dễ dàng hơn

Bước 6: Thêm, xóa dữ liệu, tạo truy vấn trong bảng

Sau khi tạo bảng, giờ là lúc quản lý dữ liệu trong các bảng. Bạn có thể thêm bảng bạn đã tạo và thêm dữ liệu mong muốn vào mỗi cột. Bạn có thể làm điều này như ví dụ sau:

INSERT INTO name of the desired table (color, location, install_date) VALUES ('blue', 'south', '2017-04-28'); 

INSERT INTO name of the desired table (color, location, install_date) VALUES ( 'yellow', 'northwest', '2018-08-16');

Lưu ý: thay thế tên bảng mong muốn bằng tên của bảng bạn đã tạo.

color, location, và install_date là các tiêu đề cột mà chúng tôi muốn thêm vào và được liệt kê dưới dạng ví dụ để giúp bạn hiểu rõ hơn. Thay vì các mục chúng tôi đã đề cập, bạn có thể thêm các giá trị mong muốn vào các cột trong bảng của mình.

Khi nhập dữ liệu, bạn phải cẩn thận để tránh bị treo máy nhiều lần. Ví dụ: không nhập tên cột bên trong dấu ngoặc kép và sử dụng dấu ngoặc kép để nhập giá trị cột.

Để truy xuất thông tin bạn đã thêm vào các bảng, hãy sử dụng lệnh sau:

SELECT * FROM name of the desired table;

Ở đầu ra, nó hiển thị dữ liệu bạn đã thêm vào bảng mong muốn và bạn có thể đảm bảo dữ liệu bạn đã tạo trong bảng là chính xác.

Để xóa một hàng trong bảng mong muốn, bạn có thể nhập lệnh sau:

DELETE FROM name of the desired table WHERE column heading = 'Value' ;
  • name of the desired table: thay thế tên của bảng bạn đã tạo trước đó mà bây giờ bạn định thay đổi nó.
  • column heading: thay tiêu đề cột mong muốn vào phần này.
  • Value: nhập giá trị bạn muốn xóa trong trường này.

Sau đó, bạn có thể khôi phục các thay đổi bạn đã thực hiện trong bảng với sự trợ giúp của lệnh sau:

SELECT * FROM name of the desired table;

Do đó, bạn chắc chắn sẽ xóa giá trị và hàng mong muốn cũng như thay đổi bạn đã thực hiện.

Bước 7: Thêm, bớt cột trong bảng

Như bạn đã thấy, sau khi tạo bảng, bạn có thể thay đổi và chỉnh sửa bảng trong phần mềm này. Bây giờ, nếu bạn muốn xóa một cột khỏi bảng hoặc thêm nó vào bảng mong muốn, bạn phải nhập các lệnh.

Nếu muốn thêm một cột vào bảng, bạn nhập lệnh sau:

ALTER TABLE  name of the desired table ADD column heading;
  • name of the desired table: thay thế tên của bảng bạn muốn trong phần này.
  • column heading: thay thế tiêu đề cột mà bạn muốn thêm vào bảng mong muốn.

Sau đó truy xuất thông tin bảng bằng lệnh sau để đảm bảo rằng cột mong muốn đã được thêm vào bảng của bạn hay chưa:

SELECT * FROM name of the desired table;

Bạn sẽ nhận thấy rằng một cột mới có tiêu đề bạn nhập đã được thêm vào bảng của bạn, nhưng cột được thêm vào không có thông tin vì bạn chưa thêm thông tin vào bảng.

Bạn có thể sử dụng lệnh sau để xóa cột:

ALTER TABLE name of the desired table DROP column heading;

Với sự trợ giúp của lệnh trên, bạn có thể xóa cột mong muốn trong bảng với tất cả thông tin của nó. Lưu ý rằng thông tin trong cột mong muốn sẽ bị xóa và các dữ liệu khác sẽ vẫn còn.

Bước 8: Cập nhật dữ liệu trong bảng

Để cập nhật và thay đổi các giá trị trong bảng, hãy sử dụng mẫu sau:

UPDATE name of the desired table SET column heading = 'value' WHERE column heading = 'value';
  • Value: Giá trị muốn thay đổi

=>> Cách cài đặt môi trường desktop KDE trong Linux Ubuntu

Cách gỡ cài đặt PostgreSQL trong Ubuntu 22.04

Để gỡ cài đặt PostgreSQL trong Ubuntu 22.04, chỉ cần gõ lệnh sau:

sudo apt remove postgresql postgresql-contrib

Vậy là bạn có thể tận hưởng các tính năng độc đáo của phần mềm PostgreSQL trong Ubuntu 22.04 với các bước hướng dẫn trên. Nếu có bất kỳ câu hỏi nào cần giải đáp, vui lòng cho chúng tôi biết trong phần bình luận. Chúc các bạn thành công!