在一些情况下,例如,刚开始给PostgreSQL的存储空间不够,而受限于条件,只能在本机上扩容(例如新增磁盘),此时就有可能需要对PostgreSQL的表空间进行迁移。
建议:为了效率,数据和索引,分别处在不同的表空间中。
具体操作如下表述
#### 1. 挂载磁盘(如有需要的话) # mkfs.ext4 /dev/sdc # mount /data2 /dev/sdc #### 2. 创建新的表空间数据存储目录 # mkdir /data2/pg_tablespace1 # chown postgres.postgres /data2/pg_tablespace1 # chmod 700 /data2/pg_tablespace1 #### 3. psql登录postgresql # create tablespace tbs_data location ‘/data2/pg_tablespace1’ #### 4. 查看表空间 # \db+ #### 5. 迁移数据库hqweb的表空间(此时,表会被锁止) # alter database hqweb set tablespace tbs_data; #### 6. 再核查一下 # \db+ #### 7. 最后重启 # pg_ctl -D $PGDATA restart |