– Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS)

– Hoạt động theo mô hình client/server

+ Server process: quản lý database files, nhận kết nối từ clients, thực hiện các hoạt động trong database -> các process có tên postgres

+ Các ứng dụng client: kết nối đến server qua giao tiếp TCP/IP

 

– Khi có 1 connection mới, 1 process được tạo ra để phục vụ cho connection đó, để không phụ thuộc vào master server process

 

– 1 server PostgreSQL có thể có nhiều database -> 1 instance có thể chạy nhiều database, các database đó tạo thành database cluster. 

 

Để tạo database mydb, ta cần start database server, sau đó thực hiện

 

 

Tên database bắt đầu bằng ký tự, dài tối đa 63 bytes

 

Xóa database

 

 

 

Các tool quản trị PostgreSQL

psql: chương trình quản trị bằng dòng lệnh

pgAdmin: chương trình quản trị dùng giao diện đồ họa

– 3rd party tools

 

Thao tác sử dụng psql

 

 

=> Đăng nhập với tư cách superuser

 

Kiểm tra version

 

 

Liệt kê các câu lệnh SQL quản trị

 

 

Liệt kê các câu lệnh quản trị bằng dòng lệnh của psql

 

 

Thoát psql

 

 

Viết lệnh

 

– Xuống dòng, khoảng trắng thoải mái

– Kết thúc bằng dấu ; hoặc \g

 

 

– Dùng dấu — (2 gạch ngang) để chú thích

 

Kiểu dữ liệu hỗ trợ

 

int, smallint, real, double precision, char(N), varchar(N), date, time, timestamp, interval, geometric, user-defined data types

 

Vài thao tác cơ bản

 

Tạo table 

 

 

Có gì lạ? Tên object có thể đặt trùng với từ khóa: date date (cột date kiểu date)

 

Insert dữ liệu và query thử

 

 

Được cái psql hiển thị nội dung table khá đẹp ^^

 

Câu lệnh SELECT trong PostgreSQL cơ bản cũng giống các database khác, hỗ trợ:

  • SELECT … FROM … WHERE … GROUP BY … HAVING … ORDER BY
  • SELECT DISTINCT
  • Column alias, table alias
  • Join tables
  • Các hàm tổng hợp (max, min, count, sum, avg)
  • Subquery…

Tuy nhiên khi select các nội dung ảo từ database thì không cần table ảo (from dual như bên Oracle DB) mà chỉ cần mỗi lệnh select

 

Kiểm tra ngày tháng

 

 

Tính toán

 

 

Các câu lệnh INSERT, DELETE, UPDATE cách sử dụng cũng tương tự các db khác. Tuy nhiên PostgreSQL sử dụng implicit Commit.

Do đó các câu lệnh DML nếu không chỉ rõ trong khối lệnh Begin … Commit/Rollback thì mặc định sẽ được Commit.