操作场景
关系型数据库提供基于root用户的PostgreSQL表空间管理方案。
创建表空间
步骤 1 以root用户连接数据库,并创建表空间。
# psql --host=<RDS_ADDRESS> --port=<DB_PORT> --dbname=<DB_NAME> --username=root -c "select control_tablespace ('create', '<TABLESPACE_NAME>');"
表 参数说明
参数 | 说明 |
---|---|
RDS_ADDRESS | RDS实例的IP地址。 |
DB_PORT | RDS数据库实例的端口。 |
DB_NAME | 数据库名称。 |
TABLESPACE_NAME | 表空间名称。 |
步骤 2 根据提示输入root用户密码。
登录至数据库“my_db”中并创建表空间“tbspc1”示例如下:
# psql --host=192.168.6.141 --port=5432 --dbname=my_db --username=root -c "select control_tablespace('create', 'tbspc1');"
Password for user root:
control_tablespace
------------------------------
create tablespace tbspc1 successfully.
(1 row)
如创建不成功,详细信息请查看该实例错误日志。
说明
为考虑性能,用户最多可创建20个表空间。
----结束
授权表空间使用权限
步骤 1 以root用户连接数据库,并授权表空间使用权限给指定用户。
# psql --host=<RDS_ADDRESS> --port=<DB_PORT> --dbname=<DB_NAME> --username=root -c "select control_tablespace ('alter', '<TABLESPACE_NAME>', '<USER_NAME>');"
表 参数说明
参数 | 说明 |
---|---|
RDS_ADDRESS | RDS实例的IP地址。 |
DB_PORT | RDS数据库实例的端口。 |
DB_NAME | 数据库名称。 |
TABLESPACE_NAME | 表空间名称。 |
USER_NAME | 表空间的用户名。 |
步骤 2 根据提示输入root用户密码。
登录至数据库“my_db”中并授权表空间“tbspc1”使用权限示例如下:
# psql --host=192.168.6.141 --port=5432 --dbname=my_db --username=root -c "select control_tablespace('alter', 'tbspc1', 'user1');"
Password for user root:
control_tablespace
----------------------------
alter tablespace tbspc1 successfully.
(1 row)
如授权不成功,详细信息请查看该实例错误日志。
----结束
删除表空间
步骤 1 以root用户连接数据库,并删除表空间。
# psql --host=<RDS_ADDRESS> --port=<DB_PORT> --username=root --dbname=<DB_NAME> -c "select control_tablespace('drop', '<TABLESPACE _NAME>');"
表 参数说明
参数 | 说明 |
---|---|
RDS_ADDRESS | RDS实例的IP地址。 |
DB_PORT | RDS数据库实例的端口。 |
DB_NAME | 数据库名称。 |
TABLESPACE_NAME | 表空间名称。 |
步骤 2 根据提示输入root用户密码。
示例如下:
# psql --host=192.168.6.141 --port=8635 --dbname=my_db --username=root -c "select control_tablespace('drop', 'tbspc1');"
Password for user root:
control_tablespace
----------------------------
drop tablespace tbspc1 successfully.
(1 row)
删除表空间之前请确认该表空间已为空。如删除不成功,详细信息请查看该实例错误日志。
----结束