PostgreSQL数据目录迁移的全过程

来自:网络
时间:2024-08-28
阅读:
免费资源网 - https://freexyz.cn/

前言

生产环境中随着PostgreSQL数据库表数据的不断产生,数据库目录会不断增长,当磁盘空间不足时会有将PostgreSQL数据库数据目录迁移到其他目录的需求,下面详细介绍目录迁移过程。

一、查询当前数据目录

show data_directory;

PostgreSQL数据目录迁移的全过程

二、停止数据库

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,通过指定新数据目录方式启动。

除了PostgreSQL目录迁移外,还有PostgreSQL数据文件夹迁移,下面给大家拓展一下postgresql数据库的数据文件夹迁移及存在的问题

postgresql最刚开始装的硬盘比较小,想将数据换到其他盘,软件位置不动!

数据文件夹的迁移方式如下

1、打开服务,停止postgresql数据库服务

2、将PostgreSQL\10\data复制到新的数据目录位置

3、运行,输入regedit打开注册表,修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-x64-10

双击ImagePath,将“-D”后的目录名修改为新的数据目录位置即可,如果目录路径中含有空格,需要用引号引起。

PostgreSQL数据目录迁移的全过程

4、重启服务,尝试重新连接登入,若无法启动,请确认:软件和数据是否在同一硬盘或分区?

经测试,同一硬盘分区可以,不同硬盘不行,未测试同硬盘不同分区的情况。

没办法只能重装软件,重装前将PostgreSQL\10\data,将data复制到了其他位置。

在新的硬盘安装完成之后,用之前的data覆盖,数据完美迁移!

免费资源网 - https://freexyz.cn/
返回顶部
顶部