PostgreSQL là gì.!? Hướng dẫn cài đặt

Huy Ngô
6 min readApr 1, 2020

--

Hello xin chào các bạn, lại là mình nha :)) PostgreSQL đã tự đưa ra tuyên bố là “Cơ sở dữ liệu mã nguồn mở tiên tiến nhất thế giới”. Vậy điều gì khiến cho PostgreSQL tự tin đến vây? Cùng tìm hiểu Postgresql là gì và những tính năng nổi bật giúp Postgresql gây chú ý trên toàn thế giới trong bài viết sau đây!

I. PostgreSQL là gì.!?

PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ miễn phí và nguồn mở (RDBMS) tập trung vào khả năng mở rộng và tuân thủ các tiêu chuẩn kỹ thuật. Nó được thiết kế để xử lý một loạt các khối lượng công việc lớn, từ các máy tính cá nhân đến kho dữ liệu hoặc dịch vụ Web có nhiều người dùng đồng thời.

PostgreSQL bắt đầu từ năm 1986 như một phần của dự án POSTGRES tại Đại học California tại Berkeley. Đây là cơ sở dữ liệu mặc định cho macOS Server, và cũng có các bản phân phối cho Linux, FreeBSD, OpenBSD và Windows.

II. Vì sao sử dụng postgreSQL.!?

1. Đầy đủ tính năng và dễ dàng mở rộng

PostgreSQL sở hữu các bộ tính năng mạnh mẽ bao gồm kiểm soát truy cập đồng thời nhiều phiên bản (MVCC), phục hồi điểm thời gian, điều khiển truy cập hạt, không gian bảng, sao chép không đồng bộ, các giao dịch lồng nhau, sao lưu trực tuyến / nóng, một kế hoạch truy vấn / tối ưu hóa. Nó hỗ trợ bộ ký tự quốc tế, mã hóa nhiều byte, Unicode, và nó dễ dàng nhận dạng địa phương trong việc sắp xếp tìm kiếm. PostgreSQL có khả năng mở rộng cao cả về số lượng dữ liệu mà nó có thể quản lý và số lượng người dùng đồng thời có thể đáp ứng.

2. Độ tin cậy và tuân thủ các tiêu chuẩn

PostgreSQL là một cơ sở dữ liệu với khả năng chịu lỗi cao. Cơ sở đóng góp mã nguồn mở của nó cho phép nó xây dựng mạng hỗ trợ cộng đồng. PostgreSQL tuân thủ ACID và hỗ trợ đầy đủ các khoá ngoại, tham gia, chế độ xem, trình kích hoạt và thủ tục lưu trữ bằng nhiều ngôn ngữ khác nhau. Nó bao gồm hầu hết các kiểu dữ liệu SQL, bao gồm INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL và TIMESTAMP. Nó cũng hỗ trợ lưu trữ các đối tượng nhị phân lớn, bao gồm hình ảnh, âm thanh hoặc video.

Nó đặt biệt mạnh với những hàm xử lý tọa độ trong các ứng dụng bản đồ (GIS)

3. Mã nguồn mở

Mã nguồn PostgreSQL có sẵn dưới giấy phép mã nguồn mở, cho phép bạn tự do sử dụng, sửa đổi và thực hiện nó như bạn thấy phù hợp, miễn phí. PostgreSQL không có chi phí bản quyền, giúp loại bỏ rủi ro cho việc triển khai quá mức. Cộng đồng dành riêng cho PostgreSQL của những người đóng góp và những người đam mê thường xuyên tìm ra lỗi và các bản sửa lỗi, đóng góp vào sự an toàn tổng thể của hệ thống cơ sở dữ liệu.

III. Hướng Dẫn Cài Đặt PostgreSQL trên Windows, Linux và macOS

1. Cài Đặt PostgreSQL Trên Mac

Để cài đặt PostgreSQL trên hệ điều hành Mac OSX bạn có thể sử dụng Homebrew hoặc tải về bản cài đặt thủ công sử dụng tập tin cài đặt PostgreSQL dành cho hệ điều hành này. Trong bài này chúng ta sẽ tìm hiểu cách cài đặt PostgreSQL sử dụng Homebrew.

Trên cửa sổ dòng lệnh terminal bạn chạy câu lệnh sau để cài đặt PostgreSQL:

$ brew install postgresql

Kết thúc câu lệnh trên bạn sẽ thấy terminal hiển thị các thông tin tóm tắt quá trình cài đặt (mục Summary) hoặc yêu cầu làm thêm các tác vụ nếu có (mục Caveats)

Trường hợp không có mục Caveats xuất hiện bạn sẽ chỉ cần chay câu lệnh sau đây để khởi động PostgreSQL:

$ brew services start postgresql

Hoặc nếu như không muốn chạy PostgreSQL dưới dạng service ngầm (background service) như trên thì bạn chạy câu lệnh sau:

$ pg_ctl -D /usr/local/var/postgres

Trường hợp có mục Caveats xuất hiện, thường sẽ bạn sẽ thấy Homebrew yêu cầu bạn làm thêm một tác vụ nào đó. Với cài đặt PostgreSQL thì Homebrew sẽ yêu cầu tạo một symbolic link trong thư mục LaunchAgents. Bạn sao chép câu lệnh trong phần Caveats của Homebrew và chạy nó trên terminal (tham khảo câu lệnh dưới đây và chỉnh sửa lại cho đúng với thông báo trên máy của bạn):

$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

Để khởi động PostgreSQL server bạn chạy câu lệnh:

$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Sau đó kết nối với server sử dụng câu lệnh:

$ psql

Để dừng hoạt động của PostgreSQL server:

$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

2. Cài Đặt PostgreSQL trên Ubuntu Linux

Trên cửa sổ dòng lệnh terminal của Ubuntu bạn chạy câu lệnh sau:

sudo apt-get install postgresql postgresql-contrib

Kết thúc câu lệnh trên để khởi động PostgreSQL server bạn chạy câu lệnh sau:

$ service postgresql start

Để kết nối với PostgreSQL server thì trước tiên chúng ta cần login trên hệ thống sử dụng người dùng postgres:

$ su - postgres

Sau đó kết nối tới PostgreSQL bạn chạy câu lệnh:

$ psql

Để thoát kết nối với PostgreSQL database server:

\q

Cuối cùng để đăng xuất khỏi người dùng postgres trên hệ thống:

$ exit

Nếu muốn chạy PostgreSQL server cùng lúc máy tính khởi động bạn chạy câu lệnh sau:

$ sudo update-rc.d postgresql enable

3. Cài Đặt PostgreSQL Trên Windows

Để cài đặt PostgreSQL trên Windows bạn cần tải chương trình cài đặt cho hệ điều hành này tại địa chỉ sau.

Khi tải về bạn nhấp đúp vào tập tin cài đặt và tiến hành cài đặt. Trong quá trình cài đặt, bạn sẽ được máy tính yêu cầu thiết lập các tuỳ chọn, nếu không hiểu hoặc chắc chắn về các tuỳ chọn này bạn nên sử dụng các tuỳ chọn mặc định được đưa ra (trừ trường hợp nhập mật khẩu cho ngườii dùng postgres để quản trị cơ sở dữ liệu thì bạn cần nhập mật khẩu riêng).

Ở bước kết thúc bạn sẽ được hỏi có muốn khởi động Launch Builder để cài đặt thêm các công cụ khác hay không? Nếu chắc chắn công cụ nào bạn muốn cài đặt thêm thì hãy nhấp vào ô checkbox, nếu không thì bạn chỉ cần nhấp Finish để hoàn tất cài đặt:

Để kết nối với PostgreSQL server trên Windows bạn có thể sử dụng công cụ PgAdmin hoặc psql. Cả hai công cụ này đều đã được cài đặt sẵn trong quá trình cài đặt PostgreSQL ở trên. Chương trình psql phù hợp với những ai ưa thích làm việc trên cửa sổ dòng lệnh trong khi đó pgAdmin phù hợp với những người thích sử dụng giao diện GUI hơn. Bạn có thể tìm thấy cả psql và pgAdmin trong mục tìm kiếm ứng dụng của Windows.

Yo thế là bài viết đến đây cũng đã kết thúc rồi, hẹn gặp lại các bạn trong các bài viết tiếp theo nha, bái bai :)))

--

--