查看表空间的语法帮助
postgres=# \h create tablespace
Command: CREATE TABLESPACE
Description: define a new tablespace
Syntax:
CREATE TABLESPACE tablespace_name
[ OWNER { new_owner | CURRENT_USER | SESSION_USER } ]
LOCATION 'directory'
[ WITH ( tablespace_option = value [, ... ] ) ]
创建表空间
连接coordinator:
create tablespace tst_tbs location '/home/shboss/antdb/data/tablespace';
需要在集群涉及到的主机上都存在location指定的目录,否则报错:
postgres=# create tablespace tst_tbs location '/home/shboss/antdb/data/tablespace';
ERROR: Fail to process utility query on remote node.
DETAIL: ERROR: directory "/home/shboss/antdb/data/tablespace" does not exist
在各个主机上创建目录:
remote_cmd "mkdir -p /home/shboss/antdb/data/tablespace"
再次连接coordinator创建表空间:
postgres=# create tablespace tst_tbs location '/home/shboss/antdb/data/tablespace';
CREATE TABLESPACE
查看表空间信息
数据库级别:
postgres=# \db
List of tablespaces
Name | Owner | Location
------------+--------+------------------------------------
pg_default | shboss |
pg_global | shboss |
tst_tbs | shboss | /home/shboss/antdb/data/tablespace
(3 rows)
postgres=# select * from pg_tablespace ;
spcname | spcowner | spcacl | spcoptions
------------+----------+--------+------------
pg_default | 10 | |
pg_global | 10 | |
tst_tbs | 10 | |
(3 rows)
文件系统:
coord节点:
[shboss@localhost1 pg_tblspc]$ pwd
/home/shboss/antdb/data/coord/pg_tblspc
datanode 节点:
lrwxrwxrwx 1 shboss shboss 34 Jul 23 15:25 164514 -> /home/shboss/antdb/data/tablespace
[shboss@localhost1 pg_tblspc]$ pwd
/home/shboss/antdb/