在Ubuntu 18.04上,如何将PostgreSQL数据目录移到新位置

步骤1-移动PostgreSQL数据目录

在开始使用PostgreSQL目录的移动数据之前,通过启动交互式PostgreSQL会话来验证当前位置,在以下命令中,psql是进入交互式监视器的命令,-u postgres告诉sudo以系统postgres用户的身份执行psql

sudo -u postgres psql

打开PostgreSQL提示后,使用以下命令显示当前数据目录:

SHOW data_directory;
Output data_directory 
------------------------------
/var/lib/postgresql/10/main
(1 row)

此输出确认PostgreSQL配置为使用默认数据目录/var/lib/postgresql/10/main,这是我们需要移动的目录,确认系统上的目录后,键入q并按ENTER键关闭PostgreSQL提示符。

要确保数据的完整性,在实际更改数据目录之前,请停止PostgreSQL :

sudo systemctl stop postgresql

systemctl不显示所有服务管理命令的结果,要验证是否已成功停止服务,请使用以下命令:

sudo systemctl status postgresql

输出的最后一行应该告诉你PostgreSQL已停止:

Output. . .
Jul 12 15:22:44 ubuntu-512mb-nyc1-01 systemd[1]: Stopped PostgreSQL RDBMS.

一旦复制完成,我们用.bak扩展重命名当前文件夹并保留它直到我们确认移动成功

sudo mv /var/lib/postgresql/10/main /var/lib/postgresql/10/main.bak

现在我们可以配置PostgreSQL来访问它新位置中的数据目录了。

步骤2-指向新的数据位置

默认情况下,将data_directory设置为,/etc/postgresql/10/main/postgresql.conf文件编辑此文件以反映新的数据目录:

sudo nano /etc/postgresql/10/main/postgresql.conf

查找以data_directory开头的行,并且更改下面的路径以反映新位置,

/etc/postgresql/10/main/postgresql.conf

. . .
data_directory = '/mnt/volume_nyc1_01/postgresql/10/main'
. . .

CTRL +X,Y,然后ENTER保存并关闭文件,你需要做的就是将PostgreSQL配置为使用新的数据目录位置,现在剩下的就是再次启动PostgreSQL服务,并检查它是否确实指向正确的数据目录。

步骤3-重新启动PostgreSQL

更改postgresql.conf文件中的data-directory指令后,请继续使用systemctl启动PostgreSQL服务器:

sudo systemctl start postgresql

若要确认PostgreSQL服务器已成功启动,请使用systemctl再次检查它状态:

sudo systemctl status postgresql

如果服务正确启动,你将在此命令输出的结尾处看到以下行:

Output. . .
Jul 12 15:45:01 ubuntu-512mb-nyc1-01[1]: Started PostgreSQL RDBMS.
. . .

最后,要确保新的数据目录确实正在使用中,请打开PostgreSQL命令提示符。

sudo -u postgres psql

再次检查数据目录的值:

SHOW data_directory;
Output data_directory
-----------------------------------------
/mnt/volume_nyc1_01/postgresql/10/main
(1 row)

这就确认PostgreSQL正在使用新的数据目录位置,验证现有数据的完整性后,即可删除备份数据目录:

sudo rm -Rf /var/lib/postgresql/10/main.bak

这样,你已经成功地将PostgreSQL数据目录移到了新位置。

原文链接:https://www.digitalocean.com/community/tutorials/how-to-move-a-postgresql-data-directory-to-a-new-location-on-ubuntu-18-04

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值