Kết nối pgAdmin vào PostgreSQL database của Odoo

  Jun 24, 2023      2m      0   
 

Tut 16: Kết nối pgAdmin vào PostgreSQL database của Odoo

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:

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

docker compose pgadmin 4 login

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....

pgadmin register new 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)

pgadmin fill out connection

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.

pgadmin 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.

pgadmin exec sql

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)

pgadmin table wizard


Cài đặt Odoo:

Danh sách bài viết series Odoo:

Tham gia ngay group trên Facebook để cùng thảo luận với đồng bọn nhé:

Khám phá Odoo


Khám phá xử lý ảnh - GVGroup




-->