Để cài đặt phiên bản mới nhất của PostgreSQL, bạn có thể sử dụng lệnh sau:
sudo apt-get install postgresql
Sau khi cài đặt hoàn tất, hệ thống sẽ thực hiện các bước sau:
- Tạo một người dùng Linux tên là "postgres".
- Tạo tài khoản quản trị cơ sở dữ liệu không mật khẩu cũng tên là "postgres".
- Tạo một cơ sở dữ liệu mặc định cùng tên.
Một số thông tin cấu hình mặc định bao gồm:
- Kết cấu hình: /etc/postgresql/9.5/main
- Kết dữ liệu: /var/lib/postgresql/9.5/main
- Khu vực địa phương: en_US.UTF-8
- Kết nối socket: /var/run/postgresql
- Cổng: 5432
Truy cập vào psql thông qua Docker
sudo docker exec -it id_container /bin/bash
Lệnh cơ bản trong psql
Sau khi cài đặt, bạn có thể truy cập vào giao diện psql bằng lệnh sudo -u postgres psql. Dưới đây là một số lệnh hữu ích:
\password: Đặt mật khẩu
\q: Thoát khỏi psql
\h: Hiển thị trợ giúp cho lệnh SQL cụ thể
\?: Liệt kê tất cả các lệnh psql
\l: Liệt kê tất cả các cơ sở dữ liệu
\c ten_cơ_sở_dữ_liệu: Kết nối đến một cơ sở dữ liệu khác
\d: Hiển thị tất cả các bảng trong cơ sở dữ liệu hiện tại
\d ten_bảng: Hiển thị cấu trúc của một bảng cụ thể
\du: Liệt kê tất cả các người dùng
\e: Mở trình soạn thảo văn bản
\conninfo: Hiển thị thông tin kết nối cơ sở dữ liệu hiện tại
Thay đổi mật khẩu tài khoản quản trị mặc định
Đăng nhập vào PostgreSQL bằng lệnh:
psql -U dbuser -d ten_cơ_sở_dữ_liệu -h 127.0.0.1 -p 5432
Thay đổi mật khẩu cho tài khoản quản trị "postgres":
sudo -u postgres psql
postgres=# ALTER USER postgres WITH PASSWORD 'mat_khau_moi';
Thay đổi mật khẩu người dùng Linux
Đối với người dùng Linux "postgres", bạn có thể thay đổi mật khẩu bằng lệnh:
sudo -u postgres passwd
Cấu hình PostgreSQL để cho phép truy cập từ xa
Để cho phép kết nối từ xa, chỉnh sửa file cấu hình như sau:
sudo gedit /etc/postgresql/9.5/main/postgresql.conf
listen_addresses = '*' # bỏ dấu # và thay đổi thành '*'
Thêm dòng sau vào cuối file pg_hba.conf:
sudo gedit /etc/postgresql/9.5/main/pg_hba.conf
host all all 0.0.0.0 0.0.0.0 md5
Khởi động lại dịch vụ PostgreSQL:
sudo /etc/init.d/postgresql restart
Tạo người dùng và cơ sở dữ liệu mới
Tạo người dùng và cơ sở dữ liệu bằng lệnh psql:
sudo -u postgres psql
postgres=# CREATE USER nguoi_dung_moi WITH PASSWORD 'mat_khau';
postgres=# CREATE DATABASE ten_cơ_sở_dữ_liệu OWNER nguoi_dung_moi;
postgres=# GRANT ALL PRIVILEGES ON DATABASE ten_cơ_sở_dữ_liệu TO nguoi_dung_moi;
Hoặc sử dụng các lệnh shell:
sudo -u postgres createuser --superuser nguoi_dung_moi
sudo -u postgres psql
postgres=# \password nguoi_dung_moi
postgres=# \q
sudo -u postgres createdb -O nguoi_dung_moi ten_cơ_sở_dữ_liệu
Các lệnh cơ bản để quản lý cơ sở dữ liệu
# Tạo bảng mới
CREATE TABLE bang_moi(ten TEXT, ngay_tham_gia DATE);
# Chèn dữ liệu
INSERT INTO bang_moi(ten, ngay_tham_gia) VALUES('Nguyễn Văn A', '2023-01-01');
# Lấy dữ liệu
SELECT * FROM bang_moi;
# Cập nhật dữ liệu
UPDATE bang_moi SET ten = 'Nguyễn Văn B' WHERE ten = 'Nguyễn Văn A';
# Xóa dữ liệu
DELETE FROM bang_moi WHERE ten = 'Nguyễn Văn B';
# Thêm cột
ALTER TABLE bang_moi ADD COLUMN email TEXT;
# Cập nhật cấu trúc
ALTER TABLE bang_moi ALTER COLUMN ngay_tham_gia SET NOT NULL;
# Đổi tên cột
ALTER TABLE bang_moi RENAME COLUMN ngay_tham_gia TO ngay_dang_ky;
# Xóa cột
ALTER TABLE bang_moi DROP COLUMN email;
# Đổi tên bảng
ALTER TABLE bang_moi RENAME TO bang_backup;
# Xóa bảng
DROP TABLE IF EXISTS bang_backup;