📜  PostgreSQL - 表的大小

📅  最后修改于: 2022-05-13 01:57:15.522000             🧑  作者: Mango

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;

输出: