Postgre 查询数据库文件大小
时间: 2024-08-27 17:01:54 浏览: 62
在PostgreSQL中,您可以通过查询`pg_database`和`pg_tablespace`系统目录来获取数据库文件的大小。具体来说,您可以使用以下SQL查询来查看数据库的大小(以字节为单位):
```sql
SELECT pg_database.datname AS "Name",
pg_size_pretty(pg_database_size(pg_database.datname)) AS "Size"
FROM pg_database;
```
此查询会返回一个列表,其中包含数据库的名称及其大小(格式化为更易读的形式)。
如果您想查看特定表空间中所有对象的大小,可以使用以下查询:
```sql
SELECT nspname || '.' || relname AS "relation",
pg_size_pretty(pg_table_size(CAST(c.oid AS regclass))) AS "size"
FROM pg_class c
JOIN pg_namespace n ON n.oid = c.relnamespace
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
ORDER BY pg_table_size(CAST(c.oid AS regclass)) DESC;
```
这个查询会列出所有非系统表空间中表的名称和大小。
请注意,如果您想要查看的是文件系统的大小,而不是数据库的逻辑大小,那么您需要检查安装PostgreSQL的服务器上的文件系统。这通常可以通过服务器的文件系统工具来完成,例如使用Linux系统的`du`命令。
阅读全文