Ermittlung der Festplattengröße einer PostgreSQL-Tabelle und ihrer Indizes

Shihab Sikder 30 Januar 2023
  1. Finden Sie die Festplattengröße einer PostgreSQL-Tabelle und -Datenbank mit PSQL
  2. Ermitteln Sie die Größe der größten Tabelle in der Datenbank
Ermittlung der Festplattengröße einer PostgreSQL-Tabelle und ihrer Indizes

In diesem Artikel wird erläutert, wie wir die Festplattengröße einer PostgreSQL-Tabelle und ihrer Indizes ermitteln können.

Finden Sie die Festplattengröße einer PostgreSQL-Tabelle und -Datenbank mit PSQL

Sie können das \l+ verwenden, um die Datenbankgrössen anzuzeigen und \d+, um die Tabellengrösse anzuzeigen. Aber vorher müssen Sie sich bei der Datenbank anmelden, um die Abfrage durchzuführen.

Hier ist der folgende Befehl und die Ausgabe zum Anzeigen der Tabellen- und Datenbankgröße in Postgres:

postgres=# \l+

Ausgabe:

Datenbankgröße

postgres-# \d+
                                            List of relations
 Schema |       Name       |   Type   |  Owner   | Persistence | Access method |    Size    | Description
--------+------------------+----------+----------+-------------+---------------+------------+-------------
 public | book_lends       | table    | postgres | permanent   | heap          | 16 kB      |
 public | books            | table    | postgres | permanent   | heap          | 16 kB      |
 public | employee         | table    | postgres | permanent   | heap          | 16 kB      |
 public | employee_id_seq  | sequence | postgres | permanent   |               | 8192 bytes |
 public | events           | table    | postgres | permanent   | heap          | 16 kB      |
 public | mock_data        | table    | postgres | permanent   | heap          | 48 kB      |
 public | product          | table    | postgres | permanent   | heap          | 16 kB      |
 public | product_id_seq   | sequence | postgres | permanent   |               | 8192 bytes |
 public | products         | table    | postgres | permanent   | heap          | 16 kB      |
 public | products_id_seq  | sequence | postgres | permanent   |               | 8192 bytes |
 public | prroducts        | table    | postgres | permanent   | heap          | 8192 bytes |
 public | prroducts_id_seq | sequence | postgres | permanent   |               | 8192 bytes |
 public | stores           | table    | postgres | permanent   | heap          | 16 kB      |
 public | stores_id_seq    | sequence | postgres | permanent   |               | 8192 bytes |
 public | users            | table    | postgres | permanent   | heap          | 16 kB      |
(15 rows)

Hier werden alle Tabellen mit Name, Typ, Eigentümer, Größe, Zugriffsmethode usw. angezeigt, die wir in der Postgres-Datenbank haben.

Ermitteln Sie die Größe der größten Tabelle in der Datenbank

Hier ist ein Code-Snippet, das ein Postgres-Beamter geschrieben hat, um die Tabellengrößen in absteigender Reihenfolge anzuzeigen.

SELECT nspname || '.' || relname AS "relation",
    pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
  FROM pg_class C
  LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  WHERE nspname NOT IN ('pg_catalog', 'information_schema')
    AND C.relkind <> 'i'
    AND nspname !~ '^pg_toast'
  ORDER BY pg_total_relation_size(C.oid) DESC
  LIMIT 10;

Ausgabe:

     relation      | total_size
-------------------+------------
 public.mock_data  | 48 kB
 public.product    | 32 kB
 public.products   | 32 kB
 public.books      | 32 kB
 public.book_lends | 32 kB
 public.employee   | 32 kB
 public.stores     | 32 kB
 public.users      | 32 kB
 public.events     | 16 kB
 public.prroducts  | 16 kB
(10 rows)

Wir haben in der Datenbank unter postgres nach den 10 grössten Tabellen gesucht.

Sie können auf den folgenden Link klicken, um weitere Abfragen zur Festplattengröße in Postgres zu erhalten. Sie finden die SQL-Abfrage zum Auffinden des größten Clusters, der größten Relationen, partitionierten Tabellen usw.

Hier mehr zu den Funktionen bezüglich der Datenbankgröße.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

Verwandter Artikel - PostgreSQL Table