pg_tablespace_location()

返回表空间文件系统路径的函数

pg_tablespace_location() 是一个系统函数,用于返回指定 表空间 的文件系统路径。

pg_tablespace_location()PostgreSQL 9.2 中被添加。

用法

pg_tablespace_databases ( tablespace oid ) → setof oid

pg_tablespace_location() 的引入是为了避免在 pg_tablespace 系统目录表中硬编码系统路径,并且主要用于元数据查询,这些查询需要将表空间的 OID 转换为其文件路径,例如 psql\db 斜杠命令

pg_tablespace_location() 必须提供要查询的表空间的 OID(请注意,目前没有 regtablespace OID 类型),并返回系统文件路径,如果表空间是默认的,则返回 NULL

变更历史

示例

psql\db 命令所使用的查询

postgres=# \db
********* QUERY **********
SELECT spcname AS "Name",
  pg_catalog.pg_get_userbyid(spcowner) AS "Owner",
  pg_catalog.pg_tablespace_location(oid) AS "Location"
FROM pg_catalog.pg_tablespace
ORDER BY 1;
**************************

                  List of tablespaces
    Name    |  Owner   |         Location
------------+----------+----------------------------
 pg_default | postgres |
 pg_global  | postgres |
 tblspace_1 | postgres | /var/lib/pgsql/tblspc_dir1
 tblspace_2 | postgres | /var/lib/pgsql/tblspc_dir2

(4 rows)

分类

系统函数, 表空间

另请参阅

pg_tablespace_databases(), 表空间, 表空间目录, pg_tablespace

反馈

请在此 提交关于“pg_tablespace_location()”的任何评论、建议或更正