Bagaimana cara mendapatkan ukuran tablespace yang dialokasikan oleh masing-masing database postgres?

12

Tablespace Postgres adalah cluster-lebar. Oleh karena itu, bagaimana saya menghitung berapa banyak ruang yang dialokasikan oleh setiap database di tablespace postgres?

Stephane Rolland
sumber

Jawaban:

16

Untuk mendapatkan ruang disk yang ditempati oleh database (diformat dengan baik):

SELECT pg_size_pretty(pg_database_size('mydb'))

Ruang disk ditempati oleh tablespace:

SELECT pg_size_pretty(pg_tablespace_size('mytblspace'))

Cari tahu lebih lanjut tentang fungsi ukuran objek database dalam manual :

Erwin Brandstetter
sumber
2
Orang bisa sangat berguna menggabungkan ini dengan SELECTpada tabel sistem: SELECT spcname, pg_size_pretty(pg_tablespace_size(spcname)) FROM pg_tablespace;dan SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database;.
jpmc26