Thứ Năm, 27 tháng 7, 2023

Lập trình Postgresql trên MacOSX

MỤC LỤC:

1. Khởi động Postgresql bằng Docker
2. Cài đặt thư viện Postgresql client
3. Restore CSDL dvd_rental
4. Dùng DBeaver để xem CSDL dvd_rental vừa khôi phục
5. Tóm lại

Bài này tôi ghi chép lại các bước để bạn lập trình CSDL Postgresql với công cụ psql và DBeaver

1. Khởi động Postgresql bằng Docker

Ưu điểm khởi động Postgresql bằng Docker là bạn có thể thử nhiều phiên bản Postgresql khác nhau mà không phải cài đặt vào hệ điều hành, việc bật tắt cũng rất dễ dàng.

Thử chạy phiên bản Postgresql 14 release candidate mới nhất

$ docker run --name postgres14 -e POSTGRES_PASSWORD=123 -p 5432:5432 -d postgres:14rc1

hoặc chạy phiên bản Postgresql đóng gói trong hệ điều hành Alpine

$ docker run --name postalpine -e POSTGRES_PASSWORD=123 -p 5433:5432 -d postgres:alpine

2. Cài đặt thư viện Postgresql client

Để lập trình Postgresql hiện nay nhiều lập trình viên chọn Docker để khởi động CSDL Postgresql. Tuy nhiên bạn vẫn cần một native client psql trong trường hợp cần backup, restore database. Đây là cách để chỉ cài phần mềm psql trên MacOSX mà không cần phải cài cả Postgresql server

$ brew install libpq
$ brew link --force libpq

Kiểm tra phiên bản psql mới cài đặt

$ psql --version
psql (PostgreSQL) 13.4

3. Restore CSDL dvd_rental

Sau khi đã có server và client, bạn sẽ mua thử nghiệm một CSDL sẵn có một số bảng và dữ liệu để học cách truy vấn. Bạn nên bắt đầu với CSDL mẫu dvd_rental.
Vào https://www.postgresqltutorial.com/wp-content/uploads/2019/05/dvdrental.zip để tải về file dvdrental.zip

Dùng phần mềm Keka để chuyển sang file dvdrental.tar. Chuyển tới thư mục chứa file dvdrental.tar thực hiện khôi phục.

$ pg_restore -h 192.168.1.9 -p 5433 -U postgres -d dvdrental dvdrental.tar

Giải thích các tham số:

  • -h: host Postgresql đang chạy, có thể dùng địa chỉ IP
  • -p: port Postgresql đang chạy, mặc định là 5432, trường hợp này tôi đang chạy ở cổng 5433
  • -U: tên user kết nối vào Postgresql
  • -d: tên database sẽ khôi phục dữ liệu
  • dvdrental.tar: file tar nén dữ liệu back up
    DVD Rental

4. Dùng DBeaver để xem CSDL dvd_rental vừa khôi phục

Bản DBeaver community có thể tải về ở đây https://dbeaver.io. DBeaver hay hơn Pgadmin hay Navicat Premium ở chức năng:

  • Pgadmin: thiết kế bảng ERD mới ở bản beta, không thể chọn xem từng bảng.
  • Navicat Premium: chỉ có thể xem thiết kế ERD cho những bảng thuộc cùng một schema. Với CSDL nhiều schema thì không làm được.
  • DBeaver: có thể chọn bảng ở nhiều schema, có thể di chuyển các bảng hoặc chọn Auto Arrange để sắp xếp lại các bảng trên màn hình sao cho các đọna liên kết giữa các bảng là ngắn nhẩt. Bản Community bạn chỉ có thể tạo bảng, tạo quan hệ rồi xem trên ERD chứ không thể thiết kế bảng trực tiếp trên ERD như phần mềm Erwin.

DBBeaver

DBeaver cũng hỗ trợ các kiểu cột dữ liệu đặc thù trong Postgresql như arrayjsonjsonb

Các kiểu cột đặc biệt

5. Tóm lại

  1. Bạn nên dùng Docker để khởi động Postgresql Server trong môi trường lập trình
  2. Có thể cài đặt psql client mà không cần cài cả Postgresql Server
  3. Nên dùng DBeaver thay thế cho Pgadmin vì chức năng xem quan hệ ERD tốt hơn.
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master