5.3 修改表空间
... 目前,PostgreSQL 还不支持使用语句修改表空间的存储路径。但是,可以通过手动的方式 移动表空间的位置...
pg_tblspc目录里面有一个符号连接,它指向物理的表空间目录(就是在CREATE TABLESPACE命令里指定的那个目录)。这个符号连接是用表空间的 OID 命名的。在物理表空间目录中有一个名称取决于PostgreSQL服务器版本的子目录,例如PG_9.0_201008051(使用该子目录的原因是后续版本的数据库可以使用CREATE TABLESPACE指定相同的目录位置而不会造成冲突)。在这个版本相关的子目录中,为每个在这个表空间里有元素的数据库都有一个子目录, 以数据库的OID命名。该目录里的表和索引遵循文件节点命名模式。pg_default不需要通过pg_tblspc来访问,而是对应于PGDATA/base。类似地,pg_global表空间也不通过pg_tblspc访问,而是对应于PGDATA/global。
psql 列出表空间:
\db[+] [ pattern ]
列出表空间。如果指定了pattern
,只显示名称匹配该模式的表空间。如果在命令名称后面追加+
,则与表空间相关的选项、磁盘上的尺寸、权限以及描述也会和表空间本身一起被列出。