生产环境中随着PostgreSQL数据库表数据的不断产生,数据库目录会不断增长,当磁盘空间不足时会有将PostgreSQL数据库数据目录迁移到其他目录的需求,下面详细介绍目录迁移过程。
一、查询当前数据目录
1 show data_directory;
二、停止数据库
1 pg_ctl stop
三、压缩数据库的data目录并拷贝到新目录解压
# 压缩命令:
tar -czvf data.tar.gz data
# 拷贝命令:
cp data.tar.gz /var/pgsql
# 解压命令:
tar -xzvf data.tar.gz
四、新目录设置权限
# 修改归属用户命令:
chown -R postgres:postgres /var/pgsql
# 修改文件夹权限命令:
chmod 700 /var/pgsql
五、修改环境变量
# 编辑postgres用户环境文件:
vi /home/postgres/.bash_profile
# 文件内容修改如下:
export PGDATA=/var/pgsql/data
# 配置文件立刻生效:
source /home/postgres/.bash_profile
六、启动数据库
# 启动数据数据库
pg_ctl start
注意:若不设置环境变量也可以使用pg_ctl start -D /var/pgsql/data,通过指定新数据目录方式启动。