Điều này giả định rằng các quan điểm cụ thể hóa có relpages >= 8
trong pg_class
đó, không phải là trường hợp. Nó thực sự có thể trống - chưa được điền, được chỉ định bởi pg_class.relispopulated = FALSE
. Tệp đĩa tương ứng có kích thước bằng không trong trường hợp này.
Thay vào đó hãy thử:
SELECT relname AS objectname
, relkind AS objecttype
, reltuples AS entries
, pg_size_pretty(pg_table_size(oid)) AS size -- depending - see below
FROM pg_class
WHERE relkind IN ('r', 'i', 'm')
ORDER BY pg_table_size(oid) DESC;
Trường hợp các loại có sẵn là :
r
= bảng thông thường,
i
= chỉ mục,
S
= trình tự,
v
= chế độ xem,
m
= chế độ xem cụ thể hóa,
c
= loại tổng hợp,
t
= bảng TOAST,
f
= bảng nước ngoài
Sử dụng một trong các hàm kích thước đối tượng cơ sở dữ liệu thay vì xây dựng của riêng bạn. Xin lưu ý rằng "kích thước của bảng" có thể được định nghĩa theo các cách khác nhau. Chi tiết: