PG管理_表空间的学习

表空间的创建

选取一个物理位置,注意postgres有全部权限。

create tablespace my_tablespace_name location '/data/pg_tbs/';

不应该在$PGDATA目录创建表空间,如果创建了,repmgr在配置高可用的时候,可能会出现问题,其他的高可用插件不知道会不会。我们一定要单独放在一个空间较大的位置上。

在表空间之间迁移对象

例如迁移数据库mydb 到另外一个表空间。

alter database mydb set tablespace my_tablespace_name;

如果移动一张表

alter table mytable set tablespace my_tablespace_name;

一次性的把一个表空间的多个对象迁移到另外一个表空间,如果命令执行者是超级用户,那么源空间所有对象都会被迁移过去,否则会迁移所执行这所属的对象。

将pg_default 默认表空间对象中的所有对象迁移到my_tablespace_name表空间,

alter tablespace pg_default move all to my_tablespace_name;

迁移过程中所涉及的database和表都会被锁定。
上一篇:MySQL的SQL语句 - 数据定义语句 - DROP 语句(3)


下一篇:Oracle表空间的管理方式(LMT、DMT)--本地和字典管理