Chuyển đến nội dung chính
Kết nối cơ sở dữ liệu PostgreSQL của bạn để Tony (Database Engineer) có thể phân tích truy vấn, tối ưu hiệu suất và giám sát sức khỏe cơ sở dữ liệu.

Nền tảng được hỗ trợ

Nền tảngHỗ trợ
PostgreSQL tự host12.x, 13.x, 14.x, 15.x, 16.x
AWS RDS PostgreSQLTất cả phiên bản
AWS Aurora PostgreSQLTất cả phiên bản
Google Cloud SQLTất cả phiên bản PostgreSQL
Azure Database for PostgreSQLFlexible Server, Single Server

Điều kiện tiên quyết

  • Một instance PostgreSQL có thể tiếp cận từ CloudThinker qua mạng.
  • Quyền admin để tạo người dùng riêng và cấp đặc quyền.
  • Extension pg_stat_statements đã cài đặt nếu bạn muốn phân tích ở cấp độ truy vấn (bắt buộc để lấy dữ liệu slow query).

Thiết lập

1

Kết nối với tư cách admin

Kết nối tới instance PostgreSQL bằng tài khoản admin:
2

Tạo người dùng chỉ đọc

Tạo người dùng riêng cho CloudThinker:
3

Cấp quyền kết nối và truy cập schema

Cho phép kết nối và sử dụng schema:
4

Cấp quyền SELECT

Cấp SELECT trên tất cả bảng và view, bao gồm các bảng sau này:
5

Bật pg_stat_statements

Extension này bắt buộc để phân tích truy vấn:
Với RDS/Aurora, thêm vào parameter group:
6

Cấu hình truy cập mạng

Đảm bảo CloudThinker có thể tiếp cận cơ sở dữ liệu:
  • Thêm IP CloudThinker vào security group hoặc firewall
  • Với RDS: bật public access hoặc dùng VPC peering
7

Thêm kết nối trong CloudThinker

Điều hướng đến Connections → PostgreSQL và nhập:
  • Host: hostname hoặc IP cơ sở dữ liệu
  • Port: cổng cơ sở dữ liệu (mặc định: 5432)
  • Database: tên cơ sở dữ liệu
  • Username: cloudthinker_readonly
  • Password: mật khẩu bạn đặt ở trên
  • SSL mode: require (khuyến nghị)
Nhấn Connect. CloudThinker hiển thị trạng thái Connected khi thành công.

Chi tiết kết nối

TrườngMô tảMặc định
HostHostname hoặc IP cơ sở dữ liệu
PortCổng PostgreSQL5432
DatabaseTên cơ sở dữ liệu
UsernameNgười dùng riêng, ví dụ: cloudthinker_readonly
PasswordMật khẩu người dùng
SSL modedisable, allow, prefer, require, verify-ca, verify-fullrequire
Connection timeoutGiây chờ kết nối10
Statement timeoutThời gian thực thi truy vấn tối đa tính bằng ms30000
Định dạng connection string:

Quyền bắt buộc

Tối thiểu

Khuyến nghị (phân tích toàn diện)

Bắt đầu với các grant tối thiểu và thêm các grant stats khuyến nghị để mở khóa phân tích cấp truy vấn và báo cáo cache hit.

Khả năng của agent

Sau khi kết nối, Tony có thể:
Khả năngMô tả
Phân tích truy vấnXác định slow query, phân tích execution plan
Khuyến nghị indexTìm index còn thiếu, xác định index không dùng
Metrics hiệu suấtGiám sát kết nối, I/O, tỷ lệ cache hit
Thống kê bảngPhân tích table bloat, dead tuple, trạng thái vacuum
Giám sát replicationKiểm tra lag và trạng thái streaming trên replica

Xác minh kết nối

Ví dụ prompt

Khắc phục sự cố

  • Xác minh host và port chính xác
  • Kiểm tra security group hoặc firewall cho phép IP CloudThinker
  • Với RDS: đảm bảo “Publicly accessible” được bật hoặc dùng VPC peering
  • Xác nhận PostgreSQL đang lắng nghe trên interface đúng
  • Xác minh username và password chính xác
  • Kiểm tra pg_hba.conf cho phép phương thức kết nối
  • Đảm bảo người dùng có đặc quyền CONNECT trên cơ sở dữ liệu
  • Xác minh extension đã cài đặt: SELECT * FROM pg_extension WHERE extname = 'pg_stat_statements';
  • Kiểm tra shared_preload_libraries bao gồm pg_stat_statements
  • Khởi động lại PostgreSQL sau khi thay đổi shared_preload_libraries
  • Với RDS: sửa parameter group và reboot instance
  • Xác minh người dùng có SELECT trên các bảng bắt buộc
  • Cấp role pg_read_all_stats cho PostgreSQL 14+
  • Kiểm tra quyền schema bằng \dn+ trong psql

Bảo mật

  • Quyền tối thiểu — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
  • Chỉ đọc theo mặc định — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
  • Xoay vòng thông tin xác thực — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
  • Thu hồi khi bàn giao — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.
  • Bắt buộc SSL — luôn sử dụng SSL mode require hoặc cao hơn để mã hóa dữ liệu truyền tải.
  • Grant tối thiểu — chỉ cấp SELECT cho người dùng CloudThinker; không bao giờ cấp quyền ghi.

Liên quan

Tony Agent

Agent tối ưu cơ sở dữ liệu
https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/mysql.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=29b74ea2b3ffacd21682ca898f6a2e43

Kết nối MySQL

Thiết lập tương tự cho cơ sở dữ liệu MySQL