Cách cài đặt, cấu hình và sử dụng phiên bản PostgreSQL mới nhất trên Ubuntu

theanh

Administrator
Nhân viên
Postgres là một cơ sở dữ liệu quan hệ mã nguồn mở. Nó có nhiều tính năng nâng cao như hiệu suất cấp doanh nghiệp, kích hoạt, tính nguyên tử, tính nhất quán, tính cô lập, tính bền vững và nhiều tính năng khác sẽ khiến Postgres trở thành lựa chọn tốt cho nhiều ứng dụng phức tạp.

Cài đặt PostgreSQL:​

Trong hướng dẫn này, chúng tôi tải xuống phiên bản mới nhất của Postgres từ trang web PostgreSQL chính thứchttps://www.postgresql.org/download/linux/ubuntu/

PostgreSQL cũng có sẵn trong kho lưu trữ của Ubuntu theo mặc định. Bằng cách sử dụng kho lưu trữ apt PostgreSQL từ trang web chính thức của nó, chúng ta có thể cài đặt phiên bản cụ thể theo lựa chọn của mình.

Để sử dụng kho lưu trữ apt, hãy làm theo các bước sau:

Chọn phiên bản Ubuntu của bạn​

Phiên bản Ubuntu của tôi là Bionic (18.04)

Tạo tệpPostgreSQLkho lưu trữ.
Mã:
[ICODE]nano/etc/apt/sources.list.d/pgdg.list[/ICODE]
và thêm một dòng cho kho lưu trữ trong pgdg.list
Mã:
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Nếu bạn sử dụng phiên bản Ubuntu khác 18.04 (Bionic), hãy thay thế từ 'bionic' bằng tên phiên bản Ubuntu đã sử dụng. Nhập khóa ký kho lưu trữ và cập nhật danh sách gói
Mã:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Mã:
sudo apt-get update
Bây giờ hãy cài đặt PostgreSQL Server mới nhất trong hệ thống Ubuntu của chúng tôi bằng các lệnh sau.
Mã:
sudo apt-get install postgresql postgresql-contrib
Sau khi cài đặt, máy chủPostgreSQL sẽ tự động khởi động.

Kiểm tra trạng thái của dịch vụ PostgreSQL​

Mã:
systemctl status postgresql
Bây giờ hãy xác minh kết nối PostgreSQL và phiên bản máy chủ PostgreSQL.
Mã:
sudo -u postgres psql -c "SELECT version();"
Lệnh này sẽ kết nối đếnPostgreSQL bằng psql và cung cấp phiên bản máy chủ
Mã:
 version 
-----------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 11.4 (Ubuntu 11.4-1.pgdg18.04+1) trên x86_64-pc-linux-gnu, biên dịch bởi gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit

Sử dụng vai trò PostgreSQL và phương pháp xác thực​

PostgreSQL sử dụng khái niệm về vai trò của quyền truy cập cơ sở dữ liệu. Một vai trò có thể được áp dụng cho một người dùng cơ sở dữ liệu hoặc một nhóm người dùng cơ sở dữ liệu.

PostgreSQL hỗ trợ nhiều phương pháp xác thực.

Sau đây là các phương pháp xác thực được sử dụng phổ biến nhất của PostgreSQL.

1. Trust

Các phương pháp xác thực Trust có thể được định nghĩa trong pg_hba.conf, sử dụng phương pháp này, vai trò có thể kết nối với cơ sở dữ liệu mà không cần mật khẩu.

2. Password

Một vai trò có thể kết nối với cơ sở dữ liệu bằng cách cung cấp mật khẩu.

3. Ident

Các phương pháp xác thực Ident chỉ hoạt động trên các kết nối TCP/IP.

4. Peer

Các phương pháp xác thực Peer chỉ được sử dụng cho kết nối cục bộ.

Tệp pg_hba.conf định nghĩa các phương pháp xác thực máy khách. chúng ta có thể thay đổi phương thức xác thực bằng cách chỉnh sửa các tệp sau.
Mã:
nano/etc/postgresql/11/main/pg_hba.conf
Trong tệp này, PostgreSQL sử dụng phương thức xác thực ngang hàng theo mặc định. chúng ta có thể thay đổi phương thức xác thực bằng cách thay đổi ngang hàng thành các phương thức khác.



Vào thời điểm cài đặt PostgreSQL,người dùng postgres sẽ được tạo theo mặc định,postgres là siêu người dùng của cơ sở dữ liệu PostgreSQL, tương tự như người dùng root trong máy chủ cơ sở dữ liệu MYSQL. Người dùng 'postgres' này cũng tạo trong ubuntu.

Kết nối với PostgreSQL​

Lệnh sau để kết nối với PostgreSQL.
Mã:
sudo -i -u postgres
Bây giờ chúng ta có thể kết nối đến dấu nhắc Postgres như MySQL bằng cách nhập lệnh sau.
Mã:
psql
Chúng ta sẽ nhận được dấu nhắc sau và đã sẵn sàng để chạy các truy vấn PostgreSQL trên đó.

Xin lưu ý rằng chúng ta có thể kết nối trực tiếp đến máy chủ cơ sở dữ liệu chỉ bằng cách nhập lệnh sau.
Mã:
sudo -u postgres psql

Tạo vai trò và cơ sở dữ liệu trong PostgreSQL​

Chúng ta đã có vai trò postgres trong cơ sở dữ liệu, bây giờ chúng ta tạo một vai trò mới bằng các lệnh sau.
Mã:
root@ubuntu-pc:/home# sudo -u postgres createuser --interactive

Nhập tên vai trò để thêm: sohan
Vai trò mới có phải là siêu người dùng không? (y/n) y
Chúng ta có thể liệt kê các vai trò người dùng hiện có bằng lệnh sau.
Mã:
postgres=# \du
hoặc chạy lệnh sau từ dấu nhắc postgres.
Mã:
SELECT rolname FROM pg_roles;


Chúng ta có thể xóa bất kỳ vai trò người dùng hiện có nào bằng lệnh DROP ROLE.
Mã:
postgres=# DROP ROLE sohan;
DROP ROLE

Tạo cơ sở dữ liệu PostgreSQL​

Tại đây, chúng ta có thể đăng nhập bằng tài khoản postgres và chạy lệnh sau.
Mã:
postgres@ubuntu-pc:~$ createdb dummu
hoặc chúng ta có thể chỉ cần chạy các lệnh sau với người dùng ubuntu thông thường.
Mã:
sudo -u postgres createdbdummu

Đăng nhập vào dấu nhắc postgres bằng vai trò mới​

chạy trực tiếp từ thiết bị đầu cuối hệ thống của bạn để tạo người dùng mới.
Mã:
sudo adduser sohan
Sau khi tạo người dùng mới trong hệ thống, chỉ cần chạy
Mã:
sudo -u sohan psql
hoặc nhập lệnh sau
Mã:
sudo -i -u sohan
psql


Chúng ta có thể kết nối với một cơ sở dữ liệu khác chỉ bằng cách cung cấp tên cơ sở dữ liệu như
Mã:
psql -d dummu
Sau khi kết nối với cơ sở dữ liệu trên, chúng ta có thể lấy thông tin cơ sở dữ liệu đó bằng một lệnh đơn giản
Mã:
dummu=> \conninfo
Mã:
output
Bạn được kết nối với cơ sở dữ liệu "dummu" với tư cách là người dùng "sohan" thông qua socket trong "/var/run/postgresql" tại cổng "5432"UPDATE dummu SET password = 'postgres' where username = 'sohan';

Tạo bảng trong PostgreSQL​

Sau khi tạo vai trò, cơ sở dữ liệu và tạo kết nối với máy chủ cơ sở dữ liệu, bây giờ chúng ta sẽ tạo một bảng.
Mã:
CREATE TABLE dummu(user_id serial PRIMARY KEY,username VARCHAR (50) UNIQUE NOT NULL, password VARCHAR (50) NOT NULL, email VARCHAR (355) UNIQUE NOT NULL, created_on TIMESTAMP NOT NULL, last_login TIMESTAMP);
Lệnh trên sẽ tạo bảng mới dummy giống như MySQL, chúng ta có thể kiểm tra bảng mới này bằng gõ
Mã:
\d


Tại đây, chúng ta cũng sẽ thấy bảng dummu_user_id_seq, bảng này sẽ theo dõi số tiếp theo trong chuỗi.

Nếu chúng ta chỉ muốn hiển thị tên bảng mà không có chuỗi, hãy chạy lệnh sau.
Mã:
\dt
Lệnh này sẽ chỉ hiển thị bảng dummu
Mã:
sohan=> \dt
Mã:
Đầu ra

 Danh sách các mối quan hệ
Schema | Na | Type | Owner 
--------+------------+--------+--------
public | dummu | table | soha

Thêm dữ liệu vào bảng​

Bây giờ chúng ta sẽ thêm dữ liệu vào bảng dummu bằng cách nhập,
Mã:
Chèn vào dummu(user_id,username,password,email,created_on,last_login) giá trị (1,'sohan','123456','[emailprotected]','2019-06-24 11:11:11','2019-06-24 11:11:11');
Bây giờ chúng ta sẽ lấy dữ liệu từ bảng dummu,
Mã:
SELECT * FROM dummu;

Xóa cột khỏi bảng​

Bây giờ hãy xóa dữ liệu khỏi bảng này
Mã:
XÓA TỪ dummu WHERE email = '[emailprotected]';

Thay đổi bảng PostgreSQL​

Cách tương tự chúng ta có thể sửa đổi bảng bằng cách sử dụng truy vấn alter như
Mã:
ALTER TABLE dummu DROP email;
Điều này sẽ xóa trường email khỏi bảng dummu.

xác minh bằng
Mã:
SELECT * FROM dummu;
Mã:
output:-

user_id | username | password | created_on | last_login 
---------+----------+----------+---------------------+---------------------
 1 | sohan | 123456 | 2019-06-24 11:11:11 | 2019-06-24 11:11:11

Cập nhật dữ liệu trong bảng​

Bây giờ chúng ta sẽ xem cách cập nhật dữ liệu vào bảng

chạy lệnh sau để cập nhật mật khẩu vào bảng dummu
Mã:
UPDATE dummu SET password = 'postgres' where username = 'sohan';
xác minh các thay đổi chỉ bằng cách nhập
Mã:
SELECT * FROM dummu;
Mã:
output

user_id | username | password | created_on | last_login 
---------+----------+----------+---------------------+---------------------
 1 | sohan | postgres | 2019-06-24 11:11:11 | 2019-06-24 11:11:11
Tóm lại, trong hướng dẫn này chúng ta sẽ tìm hiểu cách cài đặt PostgreSQL, tạo vai trò và cơ sở dữ liệu cũng như lệnh cơ sở dữ liệu cơ bản.
 
Back
Bên trên