Kết nối pgAdmin vào PostgreSQL database của Odoo
Tut 16: Kết nối pgAdmin vào PostgreSQL database của Odoo
Odoo Tut 16: Kết nối pgAdmin vào PostgreSQL database của Odoo
Bài viết trước Tut 15: Kết nối PostgreSQL database của Odoo bằng câu lệnh Minh đã hướng dẫn các bạn cách kết nối vào PostgreSQL Database bằng câu lệnh để chạy các câu truy vấn trực tiếp vào cơ sở dữ liệu (CSDL) của Odoo. Cách sử dụng câu lệnh khá thân thuộc đối với người quản trị server / devops nhưng lại thiếu thân thiện / thiếu tiện dụng đối với những bạn mới hoặc những người cần xem và thực hiện nhiều câu truy vấn. Do đó, trong bài viết này Minh sẽ hướng dẫn các bạn:
- Tổng quan về công cụ pgAdmin
- Kết nối pgAdmin vào CSDL PostgreSQL của Odoo
- Sử dụng cơ bản pgAdmin
Nội dung bài viết hướng dẫn cách triển khai pgAdmin cho PostgreSQL của Odoo sử dụng docker-compose. Tham khảo: Tut 2: Hướng dẫn cài đặt Odoo version 10, 11, 12, 13, 14, 15, 16.
Mục đích sử dụng pgAdmin đa phần sẽ rất cần thiết cho những bạn đang đi theo hướng phân tích và trực quan hóa dữ liệu. Những bạn dev thuần Odoo (viết custom module) đa phần sẽ chỉ dùng pgAdmin như một công cụ bổ trợ, kiểm tra cấu trúc bảng.
Tổng quan về công cụ pgAdmin
pgAdmin là một công cụ hỗ trợ quản trị và phát triển CSDL PostgreSQL, nó có mặt trên hầu hết cả hệ điều hành như: Linux, macOS, Windows. Phiên bản hiện tại là pgAdmin 4 (version 7.3 - @ ngày 24/06/2023). PostgreSQL là một trong những cơ sở dữ liệu mã nguồn mở phổ biến và mạnh mẽ nhất trên thế giới. Odoo từ những phiên bản đầu đã sử dụng CSDL PostgreSQL và chỉ tương thích PostgreSQL.
Nhiều bạn mới học Odoo cũng có thắc với Minh rằng Odoo có thể dùng database khác được không => và câu trả lời là không :D.
Thông tin tham khảo:
- Trang chủ: https://www.pgadmin.org/
- Documentation: https://www.pgadmin.org/docs/pgadmin4/latest/index.html
- Trang cài đặt pgAdmin: https://www.pgadmin.org/download/
- pgAdmin 4 trên Docker Hub: https://hub.docker.com/r/dpage/pgadmin4/
Kết nối pgAdmin vào PostgreSQL database của Odoo
Trong file docker-compose.yml triển khai Odoo và PostgreSQL ta thêm một service pgadmin vào cuối. Service vừa thêm vào có thông tin như sau:
- Phiên bản: pgAdmin 4 v7.3 <=
image: dpage/pgadmin4:7.3
- User / Password đăng nhập pgAdmin: admin@example.com / admin@example.com
- Port expose ra máy trên host: 15432 => ta sẽ vào pgAdmin bằng địa chỉ web: localhost:15432
- Thư mục data của pgAdmin lên đĩa nằm tạo
./pgadmin
version: '2'
services:
db:
image: postgres:14
...
odoo:
image: odoo:15
...
################################################################
# Các service phía trên là của odoo và postgres, ta giữ nguyên #
# Ta bổ sung thêm 1 service pgadmin cấu hình như bên dưới #
################################################################
pgadmin:
image: dpage/pgadmin4:7.3 # Jun 24, 2023
#container_name: pgadmin
environment:
- PGADMIN_DEFAULT_EMAIL=admin@example.com
- PGADMIN_DEFAULT_PASSWORD=admin@example.com
- PGADMIN_LISTEN_PORT=80
ports:
- 15432:80
volumes:
- ./pgadmin:/var/lib/pgadmin
restart: unless-stopped
depends_on:
- db
Lưu ý: trên linux có thể bị lỗi phân quyền, container pgAdmin không ghi được lên thư mục mount ./pgadmin trên máy host. Do đó, trước triển khai pgadmin container ta có thể set phân quyền thư mục này. Sau đó chạy lệnh start pgAdmin:
mkdir pgamdin/
chmod 777 pgamdin/
docker-compose up -d
Sau khi triển khai, vào pgAdmin bằng địa chỉ web: localhost:15432
Thông tin đăng nhập của ví dụ trên:
- Email/Username: admin@example.com
- Password: admin@example.com
Hướng dẫn cơ bản sử dụng pgAdmin
Kết nối đến Odoo database bằng giao diện trên pgAdmin
Chuột phải Server Group mặc định, chọn Register
sau đó chọn Server...
.
Pop-up hiện lên ta sẽ điền những thông tin bắt buộc sau:
- Tab General:
- Name: điền tên cho kết nối đến CSDL PostgreSQL của Odoo => tên này ta tự đặt sao gợi nhớ
- Tab Connection:
- Host name/address: điền tên service của PostgreSQL (trong ví dụ đó là
db
) => các service nằm trong cùng một docker network sẽ nhìn thấy nhau qua tên service (đó cũng là hostname của mỗi service/container) - Port: cổng kết nối database bên trong container
- Maintenance database: ta có thể để tên mặc định, hoặc tên lúc tạo Odoo database
- Username: tên user postgres (chính là biến env của service db: POSTGRES_USER)
- Password: mật khẩu của user postgres (chính là biến env của service db: POSTGRES_PASSWORD)
- Host name/address: điền tên service của PostgreSQL (trong ví dụ đó là
Các thông số còn lại ta có thể để mặc định (không cần chỉnh sửa gì), nếu kết nối thành công tức là ta đang điền đúng thông tin kết nối. Nếu đã làm đúng hướng dẫn mà vẫn không kết nối được pgAdmin vào Postgres của Odoo bạn có thể để lại bình luận bên dưới nhé. Thanks.
Mở Query Tool trên pgAdmin để chạy câu lệnh truy vấn SQL
Ta có thể chuột phải vào database (hoặc bảng / table) cần thực thi câu lệnh SQL, chọn Query Tool
, hoặc bạn có thể click vào biểu tượng query (xem hình).
Một cách khác nữa bạn có thể vào menu Tools > Query Tool
.
Ta có thể mở một hoặc nhiều Query Tool để chạy các câu truy vấn. pgAdmin hiển thị kết quả câu truy vấn và thời gian thực thi.
Bạn có thể chuột phải vào bảng để thao tác nhanh một số câu truy vấn phổ biến:
- Xem dữ liệu trong bảng
- Xóa bảng
- Đếm số dòng dữ liệu
- Làm mới bảng (refresh)
- Khóa học lập trình Odoo TP.HCM: Thông tin và đăng ký khóa học
- Khảo sát nhu cầu học nghiệp vụ Odoo Offline @ HCM & đăng ký sớm: https://forms.gle/auBXLNbfuNqhJSbj8
Cài đặt Odoo:
- Docker Compose for Odoo 10
- Docker Compose for Odoo 11
- Docker Compose for Odoo 12
- Docker Compose for Odoo 13
- Docker Compose for Odoo 14
- Docker Compose for Odoo 15
- Docker Compose for Odoo 16
Danh sách bài viết series Odoo:
- Tut 0: Học lập trình Odoo - tutorials
- Tut 1: Odoo là gì?
- Tut 2: Hướng dẫn cài đặt Odoo version 10, 11, 12, 13
- Tut 3: Tạo model trong Odoo
- Tut 4: View trong Odoo
- Tut 5: Controller trong Odoo
- Tut 6: Thừa kế model trong Odoo
- Tut 7: Thừa kế view trong Odoo
- Tut 8: Thừa kế controller trong Odoo
- Tut 9: API trong Odoo - XML-RPC
- Tut 10: Hiện thực wizard trong Odoo
- Tut 11: Tạo widget trong Odoo
- Tut 12: Tạo settings trong Odoo cho custom addon
- Tut 13: Thêm button cho list/tree view trong Odoo
- Tut 14: Search, Filter, Group By trong Odoo
- Tut 15: Kết nối PostgreSQL database của Odoo bằng câu lệnh
- Tut 16: Kết nối pgAdmin vào PostgreSQL database của Odoo
Tham gia ngay group trên Facebook để cùng thảo luận với đồng bọn nhé:
- Fanpage Minh: https://www.facebook.com/minhng.info
- Khám phá Odoo: https://www.facebook.com/groups/odoo-dev
Khám phá Odoo