Greenplum: gp_bloat_diag để lấy danh sách VACUUM của bảng đang chờ xử lý

2022-10-22 23:13:25

Trong bài đăng này, tôi đang chia sẻ chế độ xem gp_toolkit quan trọng để tìm danh sách bảng mà VACUUM được yêu cầu để chạy trong Máy chủ cơ sở dữ liệu Greenplum.

Greenplum dựa trên kiến trúc PostgreSQL 8.2 và MVCC. Nó tạo ra các bộ giá trị chết tại mỗi CẬP NHẬT và XÓA, đây là một phân mảnh ở dạng các bộ giá trị mà chúng ta có thể loại bỏ bằng cách thực hiện lệnh VACUUM / VACUUM FULL.

Kiểm soát đồng thời nhiều phiên bản (MVCC) là gì

Gp_toolkit là một lược đồ quản trị của máy chủ Cơ sở dữ liệu Greenplum. Nó cung cấp danh sách các khung nhìn khác nhau để giám sát máy chủ Greenplum.

Gp_bloat_diag là một trong những dạng xem của lược đồ gp_toolkit cung cấp cho chúng ta danh sách các bảng có thể yêu cầu VACUUM để chạy.

Nó trả về số trang thực tế và số trang dự kiến. Nếu số lượng trang thực tế lớn hơn số trang dự kiến, bảng đó yêu cầu VACUUM.

Nếu bạn muốn sử dụng lại không gian lãng phí của bảng, hãy thực thi VACUUM FULL trên nó, yêu cầu TRUY CẬP KHÓA ĐỘC QUYỀN trên bảng vì nó ghi lại tất cả các trang dữ liệu từ đầu.

Nếu bạn chỉ thực thi VACUUM, bạn không thể lấy lại không gian trống của bảng.
Bạn phải thực thi ANALYZE sau khi thực thi VACUUM / VACUUM FULL để cập nhật thống kê cơ sở dữ liệu.

Dưới đây là một truy vấn:

Sau khi thực hiện truy vấn trên, bạn có thể nhận được danh sách sáu cột. Các cột quan trọng là “bdirelpages” và “bdiexppages” có nghĩa là các trang thực và các trang mong đợi.

Nếu bạn tìm thấy bảng của mình trong tập kết quả, bảng của bạn yêu cầu VACUUM / VACUUM FULL.

Xem thêm:


Chia sẻ: