PostgreSQL - 表的大小
在本文中,我们将研究用于获取 PostgreSQL 数据库表大小的函数。在本文中,我们将使用一个示例数据库作为参考,此处描述并可从此处下载。
pg_relation_size()函数用于获取表的大小。
Syntax: select pg_relation_size('table_name');
示例 1:
在这里,我们将使用以下命令从示例dvdrental数据库中查询大小“国家”表:
select pg_relation_size('country');
输出:
为了使结果可读,可以使用pg_size_pretty()函数。 pg_size_pretty()函数获取另一个函数的结果,并根据需要使用字节、kB、MB、GB 或 TB 对其进行格式化。
SELECT pg_size_pretty (pg_relation_size('country'));
输出:
示例 2:
在这里,我们将使用以下命令从示例dvdrental数据库中查询大小“customer”表:
SELECT pg_size_pretty (pg_relation_size('customer'));
输出:
示例 3:
在这里,我们将使用以下命令从示例 dvdrental 数据库中查询尺寸“film”表:
SELECT pg_size_pretty (pg_relation_size('film'));
输出:
示例 4:
在这里,我们将查询 dvdrental 数据库中前 10 个最大的表。
SELECT
relname AS "tables",
pg_size_pretty (
pg_total_relation_size (X .oid)
) AS "size"
FROM
pg_class X
LEFT JOIN pg_namespace Y ON (Y.oid = X .relnamespace)
WHERE
nspname NOT IN (
'pg_catalog',
'information_schema'
)
AND X .relkind <> 'i'
AND nspname !~ '^pg_toast'
ORDER BY
pg_total_relation_size (X .oid) ASC
LIMIT 10;
输出: