PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để bạn tìm thấy kích thước đĩa của bảng Postgres / PostgreSQL và các chỉ mục của nó

Hãy thử các chức năng kích thước đối tượng cơ sở dữ liệu. Ví dụ:

SELECT pg_size_pretty(pg_total_relation_size('"<schema>"."<table>"'));

Đối với tất cả các bảng, một cái gì đó dọc theo dòng:

SELECT
    table_schema || '.' || table_name AS table_full_name,
    pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables
ORDER BY
    pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;

Chỉnh sửa:Đây là truy vấn do @phord gửi, để thuận tiện:

SELECT
    table_name,
    pg_size_pretty(table_size) AS table_size,
    pg_size_pretty(indexes_size) AS indexes_size,
    pg_size_pretty(total_size) AS total_size
FROM (
    SELECT
        table_name,
        pg_table_size(table_name) AS table_size,
        pg_indexes_size(table_name) AS indexes_size,
        pg_total_relation_size(table_name) AS total_size
    FROM (
        SELECT ('"' || table_schema || '"."' || table_name || '"') AS table_name
        FROM information_schema.tables
    ) AS all_tables
    ORDER BY total_size DESC
) AS pretty_sizes;

Tôi đã sửa đổi nó một chút để sử dụng pg_table_size() để bao gồm siêu dữ liệu và tăng kích thước.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xây dựng vùng chứa postgres docker với lược đồ ban đầu

  2. Mảng Postgres 9.4 jsonb dưới dạng bảng

  3. Quét đống Bitmap trong một kế hoạch truy vấn là gì?

  4. Có bất kỳ tùy chọn nào cho một bảng tham gia cho nhiều hiệp hội không?

  5. Không thể kết nối với PostgreSQL bằng PHP pg_connect ()