Hướng dẫn cài đặt và cấu hình PostgreSQL Database trên Ubuntu

1- Giới thiệu

Tài liệu được viết dựa trên
  • Ubuntu 14, 16, 18

  • PostGres 9.6, 10

Tài liệu hướng dẫn này có thể áp dụng cho Ubuntu phiên bản 12, 14 hoặc 16,...
Bạn có thể tra cứu các phiên bản của PostGres tại đây:

2- Cài đặt PostGreSQL

Trước hết hãy kiểm tra xem bạn đang sử dụng phiên bản nào của Ubuntu. Hãy chú ý đến UBUNTU_CODENAME, nó quan trọng với bạn lúc này.
cat /etc/*release

Version

Code name

Release date

End of Life date

Ubuntu 18.04.1 LTS

bionic

July 26, 2018

April 2023

Ubuntu 18.04 LTS

bionic

April 26, 2018

April 2023

Ubuntu 16.04.4 LTS

xenial

March 1, 2018

April 2021

Ubuntu 16.04.3 LTS

xenial

August 3, 2017

April 2021

Ubuntu 16.04.2 LTS

xenial

February 16, 2017

April 2021

Ubuntu 16.04.1 LTS

xenial

July 21, 2016

April 2021

Ubuntu 16.04 LTS

xenial

April 21, 2016

April 2021

Ubuntu 14.04.5 LTS

trusty

August 4, 2016

April 2019

Ubuntu 14.04.4 LTS

trusty

February 18, 2016

HWE August 2016

Ubuntu 14.04.3 LTS

trusty

August 6, 2015

HWE August 2016

Ubuntu 14.04.2 LTS

trusty

February 20, 2015

HWE August 2016

Ubuntu 14.04.1 LTS

trusty

July 24, 2014

April 2019

Ubuntu 14.04 LTS

trusty

April 17, 2014

April 2019

Cài đặt:

Thực thi các lệnh dưới đây trên Terminal, chú ý: Thay thế {UBUNTU_CODENAME} bởi UBUNTU_CODENAME của bạn.
sudo add-apt-repository "deb https://apt.postgresql.org/pub/repos/apt/ {UBUNTU_CODENAME}-pgdg main"

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update

sudo apt-get install postgresql-9.6
Chẳng hạn với Ubuntu 16:
sudo add-apt-repository "deb https://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main"

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update

sudo apt-get install postgresql-9.6
Nếu bạn nhận được lỗi khi cài đặt, hãy xem thêm phụ lục ở cuối bài viết này:
E: The method driver /usr/lib/apt/methods/https could not be found.
N: Is the package apt-transport-https installed?
E: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/xenial-pgdg/InRelease
E: Some index files failed to download. They have been ignored, or old ones used instead.
 
Dưới đây là minh họa cài đặt PostGres trên Ubuntu Server 16.4:
Khởi động postgres:
sudo service postgresql start

3- Thiết lập mât khẩu cho user postgres

Trước hết bạn cần đăng nhập vào PostGresUbuntu доступа корневой).
sudo -u postgres psql
Bạn đã đăng nhập vào PostGres:
Trong PostGres, "postgres" là user gốc (root user), bạn có thể thiết lập mật khẩu cho user này:
ALTER USER postgres PASSWORD 'newpassword';
Sau khi đổi mật khẩu thành công, bạn có thể thoát khỏi PostGres với lệnh "\q".
Sau khi mật khẩu của user "postgres" đã được thiết lập, bạn có thể đăng nhập vào Postgres thông qua lệnh:
psql -U postgres -h localhost
Nhập vào mật khẩu bạn đã thiết lập ở bước trên

4- Sử dụng PostGreSQL

Đảm bảo rằng bạn cần đăng nhập vào Postgres với user "postgres".
Chạy 3 lệnh sau để tạo user, database, và gán tất cả các quyền sử dụng database đó cho user vừa được tạo ra.
CREATE USER myuser with PASSWORD '123';

CREATE DATABASE mydb;

GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
Xem trên pgAdmin3:

Kết nối vào database "mydb" với user "myuser":

Thoát khỏi PostGres:
Đăng nhập vào database "mydb" với user "myuser":
psql -U myuser -h localhost  -d mydb
Bây giờ bạn đã kết nối vào database "mydb":

Tạo bảng

-- Create table Account
Create table Account (User_Name varchar(30), Full_Name varchar(64) ) ;

-- Insert 2 row to Account.

Insert into Account(user_name, full_name) values ('gates', 'Bill Gate');

Insert into Account(user_name, full_name) values ('edison', 'Thomas Edison');

-- Query
Select * from Account;
Xem trên pgAdmin3:

5- Cài đặt pgAdmin

pgAdmin là một phần mềm, một công cụ trực quan giúp bạn làm việc với cơ sở dữ liệu Postgres, bạn có thể cài đặt nó theo hướng dẫn dưới đây:

6- Phụ lục: Khắc phục lỗi

Nếu bạn nhận được lỗi:
E: The method driver /usr/lib/apt/methods/https could not be found.
N: Is the package apt-transport-https installed?
E: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/xenial-pgdg/InRelease
E: Some index files failed to download. They have been ignored, or old ones used instead.

 
Chạy lệnh sau:
sudo apt-get install apt-transport-https