Điều này giả định rằng các quan điểm cụ thể hóa có relpages >= 8trong 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: