PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak znaleźć rozmiar dysku tabeli Postgres / PostgreSQL i jej indeksy?

Wypróbuj funkcje rozmiaru obiektu bazy danych. Przykład:

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

Dla wszystkich tabel coś w stylu:

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;

Edycja:Oto zapytanie przesłane przez @phord, dla wygody:

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;

Zmodyfikowałem go nieco, aby używać pg_table_size() aby dołączyć metadane i dodać rozmiary.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zrozumienie operacji wsadowych JDBC

  2. Relacja przekazana do #lub musi być strukturalnie zgodna. Niezgodne wartości:[:referencje]

  3. Połącz zapytania z zagnieżdżoną pętlą z wynikiem tablicy nadrzędnej — pg-promise

  4. Połącz dwie kolumny i dodaj do jednej nowej kolumny

  5. Dodanie nowej wartości do istniejącego typu ENUM