数据库中存储的 postgres 表空间的位置
Where in the DB is the Location of a postgres tablespace stored
我在 redhat 6 上使用 postgres 9.2
这应该很简单,但我到处都找不到。我正在寻找数据库 table 和存储 postgres table 空间位置的列,我认为它会在 PG_TABLESPACE 中,但
select * from pg_tablespace
显示...
postgres=# select * from pg_tablespace;
spcname | spcowner | spcacl | spcoptions
-----------------+----------+--------+------------
pg_default | 10 | |
pg_global | 10 | |
C_TBL_DB91SABIR | 10 | |
(3 rows)
但是没有位置,有什么想法可以保存位置吗?
谢谢
使用pg_tablespace_location(tablespace_oid)
(PostgreSQL 9.2+)获取tablespace
所在文件系统中的路径
您将从 pg_tablespace
中获得 tablespace
的 oid
,因此查询应该是
select spcname
,pg_tablespace_location(oid)
from pg_tablespace;
使用以下查询获取表空间名称表空间位置。
postgres=# select spcname ,pg_tablespace_location(oid) from pg_tablespace;
spcname | pg_tablespace_location
------------+-------------------------------
pg_default |
pg_global |
fastspace | /var/lib/postgresql/data/base
demotbs | /var/lib/postgresql/data
另一个超级简单的命令来列出所有 table spaces
\db+
这将很快为您提供所有 table space 详细信息
我在 redhat 6 上使用 postgres 9.2
这应该很简单,但我到处都找不到。我正在寻找数据库 table 和存储 postgres table 空间位置的列,我认为它会在 PG_TABLESPACE 中,但
select * from pg_tablespace
显示...
postgres=# select * from pg_tablespace;
spcname | spcowner | spcacl | spcoptions
-----------------+----------+--------+------------
pg_default | 10 | |
pg_global | 10 | |
C_TBL_DB91SABIR | 10 | |
(3 rows)
但是没有位置,有什么想法可以保存位置吗?
谢谢
使用pg_tablespace_location(tablespace_oid)
(PostgreSQL 9.2+)获取tablespace
所在文件系统中的路径
您将从 pg_tablespace
中获得 tablespace
的 oid
,因此查询应该是
select spcname
,pg_tablespace_location(oid)
from pg_tablespace;
使用以下查询获取表空间名称表空间位置。
postgres=# select spcname ,pg_tablespace_location(oid) from pg_tablespace;
spcname | pg_tablespace_location
------------+-------------------------------
pg_default |
pg_global |
fastspace | /var/lib/postgresql/data/base
demotbs | /var/lib/postgresql/data
另一个超级简单的命令来列出所有 table spaces
\db+
这将很快为您提供所有 table space 详细信息