📜  PostgreSQL – 表空间的大小

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

PostgreSQL – 表空间的大小

在本文中,我们将研究用于获取 PostgreSQL 数据库表空间大小的函数。
pg_tablespace_size()函数用于获取表的表空间的大小。此函数接受一个表空间名称并以字节为单位返回大小。

Syntax: select pg_tablespace_size('tablespace_name');

示例 1:
在这里,我们将使用以下命令查询pg_default表空间的大小:

SELECT
    pg_size_pretty (
        pg_tablespace_size ('pg_default')
    );

输出:

请注意,我们使用pg_size_pretty()函数使结果易于阅读。 pg_size_pretty()函数获取另一个函数的结果,并根据需要使用字节、KB、MB、GB 或 TB 对其进行格式化。



注意:通常为每个逻辑文件系统创建一个以上的表空间没有多大意义,因为人们无法控制逻辑文件系统中每个单独文件的位置。然而,PostgreSQL 并没有对新表空间的创建施加限制,实际上它并不直接知道一个系统上的文件系统边界。它只是将文件存储在人们希望存储它们的目录中。

但是为了举例,我们将创建一个新表空间并找到它的大小。要创建新表空间,请使用以下命令:

CREATE TABLESPACE new_tablespace LOCATION 'C:\sample_tablespace\';

现在我们已经创建了一个名为new_tablespace的新表空间,让我们找到它的大小。
示例 2:

SELECT
    pg_size_pretty (
        pg_tablespace_size ('new_tablespace')
    );

输出: