Wie wird die tatsächlich zugewiesene Tablespace-Größe von jeder Postgres-Datenbank ermittelt?

11

Der Postgres-Tabellenbereich ist clusterweit. Wie kann ich daher berechnen, wie viel Speicherplatz von jeder Datenbank im Postgres-Tabellenbereich zugewiesen wird?

Stephane Rolland
quelle

Antworten:

15

So belegen Sie den Speicherplatz einer Datenbank (gut formatiert):

SELECT pg_size_pretty(pg_database_size('mydb'))

Speicherplatz, der von einem Tablespace belegt wird:

SELECT pg_size_pretty(pg_tablespace_size('mytblspace'))

Weitere Informationen zu Funktionen der Datenbankobjektgröße finden Sie im Handbuch :

Erwin Brandstetter
quelle
2
Man könnte dies sehr nützlich mit einem SELECTauf den Systemtabellen kombinieren : SELECT spcname, pg_size_pretty(pg_tablespace_size(spcname)) FROM pg_tablespace;und SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database;.
jpmc26