Postgresql là gì? và cách cài đặt

Tin tức Kiến thức hosting

Khi lựa chọn hệ quản trị cơ sở dữ liệu cho các dự án yêu cầu tính toàn vẹn, mở rộng và hiệu năng cao, PostgreSQL thường nằm trong danh sách ưu tiên hàng đầu. Với khả năng hỗ trợ cả mô hình quan hệ và đối tượng, cùng các tính năng nâng cao như replication, indexing thông minh và JSONB, PostgreSQL mang lại sự linh hoạt vượt trội cho nhà phát triển. Vậy chính xác thì PostgreSQL là gì và nó có gì đặc biệt so với các hệ quản trị khác?

1. Postgresql là gì?

PostgreSQL (đọc là “Post-Gres-Q-L”) là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở, được phát triển dựa trên chuẩn SQL (Structured Query Language) và mở rộng để hỗ trợ nhiều tính năng hiện đại như lưu trữ kiểu dữ liệu phức tạp, xử lý giao dịch ACID, và hỗ trợ cả mô hình quan hệ – đối tượng.

PostgreSQL nổi bật nhờ tính ổn định, bảo mật và khả năng mở rộng cao, thường được sử dụng trong các ứng dụng từ nhỏ đến quy mô doanh nghiệp.

* Lịch sử phát triển?
  • Bắt đầu vào năm 1986 tại Đại học California, Berkeley, dự án PostgreSQL khởi nguồn từ hệ thống Ingres và tiếp tục phát triển dưới tên gọi Postgres.
  • Đến năm 1996, ngôn ngữ truy vấn SQL được tích hợp, và dự án được đổi tên thành PostgreSQL – ghép giữa “Post-Ingres” và “SQL”.
  • PostgreSQL hiện được phát triển bởi cộng đồng toàn cầu với sự hỗ trợ của nhiều tổ chức phi lợi nhuận.

2. Các tính năng nổi bật của PostgreSQL?

Bảng so sánh PostgreSQL với các hệ quản trị khác
Bảng so sánh PostgreSQL với các hệ quản trị khác

– Hỗ trợ chuẩn SQL đầy đủ:

PostgreSQL tuân thủ rất sát chuẩn SQL, hỗ trợ cả:

  • Views, Stored Procedures, Triggers
  • Foreign keys, Joins phức tạp
  • Subqueries, Transactions

– ACID-compliant

PostgreSQL đảm bảo tính Atomicity, Consistency, Isolation, và Durability cho các giao dịch – điều kiện cần để đảm bảo độ tin cậy cho các hệ thống tài chính, ngân hàng và các ứng dụng nhạy cảm với dữ liệu.

– Mô hình quan hệ – đối tượng

Không chỉ hỗ trợ mô hình quan hệ cổ điển, PostgreSQL còn cho phép:

  • Xây dựng kiểu dữ liệu tùy chỉnh (custom data types)
  • Gán hàm (functions) cho kiểu dữ liệu
  • Kế thừa bảng (table inheritance)

–  Hỗ trợ JSON và NoSQL

Ngoài dữ liệu quan hệ, PostgreSQL còn hỗ trợ:

  • JSONJSONB để lưu trữ dữ liệu phi cấu trúc
  • Chức năng giống NoSQL như chỉ mục GIN, full-text search, arrays

– Khả năng mở rộng mạnh mẽ

  • Có thể thêm extensions như PostGIS (hệ thống thông tin địa lý), TimescaleDB (cơ sở dữ liệu chuỗi thời gian), v.v.
  • Hỗ trợ replication (sao chép dữ liệu), partitioning, parallel query, sharding

3. Cách cài đặt Postgresql trên Win 10​?

Bước 1:  Truy cập trang tải xuống PostgreSQL cho Windows .

Bước 2: Chạy Trình cài đặt

Điều hướng đến vị trí nơi trình cài đặt đã được tải xuống. Nhấp đúp vào tệp thực thi để bắt đầu quá trình cài đặt. Nếu được User Account Control nhắc, hãy nhấp vào ‘Có’ để cho phép trình cài đặt thực hiện các thay đổi đối với hệ thống của bạn. Nhấp vào “Tiếp theo” trên màn hình chào mừng.

Bước 3: Thiết lập thư mục cài đặt nơi PostgreSQL có thể được cài đặt. Bạn có thể đặt theo mặc định hoặc ghi một vị trí tùy chỉnh.

Bước 4: Quá trình cài đặt

Thực hiện theo các bước sau trong trình hướng dẫn cài đặt:

  • PostgreSQL Server:  Điều này là bắt buộc để chạy cơ sở dữ liệu.
  • pgAdmin 4:  Đây là công cụ giao diện người dùng đồ họa (GUI) để quản lý cơ sở dữ liệu PostgreSQL của bạn. Công cụ này được khuyến khích sử dụng để quản lý cơ sở dữ liệu dễ dàng hơn.
  • StackBuilder:  Đây là trình quản lý gói để cài đặt các công cụ và trình điều khiển PostgreSQL bổ sung.

Bướ 5: Thư mục dữ liệu

Thư mục dữ liệu lưu trữ các tệp cơ sở dữ liệu của bạn. Vị trí mặc định thường nằm trong thư mục cài đặt PostgreSQL. Bạn có thể giữ nguyên hoặc chọn một vị trí tùy chỉnh. Nhấp vào “Tiếp theo”

Bước 6: Đặt mật khẩu

Tạo mật khẩu mạnh cho tài khoản siêu người dùng PostgreSQL. Tài khoản này có đầy đủ quyền quản trị. Ghi nhớ mật khẩu này để sử dụng sau này.

Bước 7: Cấu hình cổng

Cổng mặc định cho PostgreSQL là 5432. Bạn có thể giữ nguyên cổng này trừ khi bạn có lý do cụ thể để sử dụng cổng khác. Nhấp vào “Tiếp theo”.

Bước 8: Xem lại cài đặt

Màn hình này cung cấp tóm tắt về các tùy chọn cài đặt bạn đã chọn. Xem xét mọi thứ cẩn thận và thực hiện bất kỳ điều chỉnh cần thiết nào. Nhấp vào “Tiếp theo” để xác nhận.

Bước 9: Bắt đầu cài đặt

Trình cài đặt sẽ bắt đầu sao chép các tệp và thiết lập PostgreSQL. Quá trình này có thể mất vài phút tùy thuộc vào tốc độ hệ thống của bạn. Nếu bạn đã chọn StackBuilder , bạn có thể thấy lời nhắc khởi chạy sau khi cài đặt. Bạn có thể chọn khởi chạy ngay hoặc sau.

Bước 10: Nhấn phím Windows, nhập “cmd” và nhấn Enter để mở cửa sổ Command Prompt. Điều hướng đến thư mục PostgreSQL cdtới C:\Program Files\PostgreSQL\16\bin, vì các biến môi trường chưa được thiết lập. Nhập lệnh sau và nhấn Enter:

psql –version

Thao tác này sẽ hiển thị thông tin phiên bản PostgreSQL đã cài đặt.

Ok vậy là đã xong.

4. Câu hỏi thường gặp:

– PostgreSQL khác gì so với MySQL hay MariaDB?
PostgreSQL nổi bật với khả năng tuân thủ chuẩn SQL cao hơn, hỗ trợ các kiểu dữ liệu phức tạp như JSONB, array, và hỗ trợ lập trình thủ tục đa dạng hơn. PostgreSQL thích hợp với các ứng dụng cần tính nhất quán dữ liệu cao và các phép toán phức tạp, trong khi MySQL thường được ưa chuộng cho các web app đơn giản hơn.

– Làm sao để tối ưu hiệu năng truy vấn trong PostgreSQL?
Bạn có thể tối ưu bằng cách tạo index phù hợp, sử dụng EXPLAIN để phân tích truy vấn, cấu hình bộ nhớ cache (work_mem, shared_buffers), và tận dụng partitioning để quản lý dữ liệu lớn.

– PostgreSQL hỗ trợ tính năng gì để xử lý dữ liệu phi cấu trúc?
PostgreSQL có hỗ trợ kiểu dữ liệu JSON và JSONB, cho phép lưu trữ và truy vấn dữ liệu dạng JSON hiệu quả với các phép toán và chỉ số chuyên biệt, rất hữu ích cho các ứng dụng NoSQL kết hợp với SQL.

– Làm sao để sao lưu và phục hồi cơ sở dữ liệu PostgreSQL?
PostgreSQL hỗ trợ công cụ pg_dump để sao lưu từng database, và pg_restore để phục hồi. Ngoài ra có thể dùng sao lưu cấp file (base backup) kết hợp với WAL để sao lưu liên tục và khôi phục điểm thời gian (PITR).

– Có thể mở rộng PostgreSQL như thế nào?
PostgreSQL cho phép bạn tạo các extension như PostGIS (bản đồ), TimescaleDB (dữ liệu thời gian), hoặc viết các hàm tùy chỉnh bằng nhiều ngôn ngữ (PL/pgSQL, PL/Python…), giúp mở rộng chức năng rất linh hoạt.

Leave a Reply

Your email address will not be published. Required fields are marked *