It is very important to allocate sufficient disk space for your database. If the disk gets full, it will not corrupt the data, but it might lead to database server panic and then consequent shutdown.
For planning or space monitoring, we often need to know how big the database is.
We can do this in the following ways:
- Look at the size of the files that make up the database server.
- Run a SQL request to confirm the database size.
If you look at the size of the actual files, you'll need to make sure that you include the data directory and all subdirectories, as well as all other directories that contain tablespaces. This can be tricky, and it is also difficult to break out all the different pieces.
The easiest way is to ask the database a simple query, like this:
SELECT pg_database_size(current_database());
However, this is limited to only the current database. If you want to know the size of all the databases together, then you'll need a query...