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()" 的评论、建议或更正 此处