准备工作
要完成本教程,我们需要:
- 具有 sudo 权限的用户的 Ubuntu 16.04 服务器。
- 一个 PostgreSQL 服务器。如果我们还没有设置,如何在 Ubuntu 16.04 上安装 PostgreSQL 9.6 文章可以。
- 我们将其中移动 PostgreSQL 数据库数据的新卷。
在本教程中,我们会将 PostgreSQL 数据库数据移动到安装在 /opt/pgdb 的存储卷。
步骤 1. 移动 PostgreSQL 数据目录
检查当前的 PostgreSQL 数据目录
在开始移动 PostgreSQL 数据目录之前,我们必须检查当前的 PostgreSQL 数据目录位置。
连接到 PostgreSQL 服务器并运行以下命令:
# sudo -u postgres psql could not change directory to "/root": Permission denied psql (9.6.1) Type "help" for help. postgres=# SHOW data_directory; data_directory ------------------------------ /var/lib/postgresql/9.6/main (1 row) postgres=#
请注意,PostgreSQL 被配置为使用默认数据目录,/var/lib/postgresql/9.6/main
停止 PostgreSQL 服务
# sudo systemctl stop postgresql
复制 PostgreSQL 数据库数据目录
# sudo rsync -av /var/lib/postgresql /opt/pgdb
复制 PostgreSQL 数据库数据目录后,我们将重命名旧数据库数据目录。
# sudo mv /var/lib/postgresql/9.6/main /var/lib/postgresql/9.6/main.backup
步骤 2. 指向新的 PostgreSQL 数据目录位置
打开 /etc/postgresql/9.6/main/postgresql.conf 文件并使用新路径位置修改 data_directory 设置
# sudo vi /etc/postgresql/9.6/main/postgresql.conf data_directory = '/opt/pgdb/postgresql/9.6/main' # use data in another directory # (change requires restart) . .
启动 PostgreSQL 服务
# sudo systemctl start postgresql
步骤 3. 检查
连接到 PostgreSQL 并使用以下命令验证 PostgreSQL 数据库数据目录
# sudo -u postgres psql could not change directory to "/root": Permission denied psql (9.6.1) Type "help" for help. postgres=# SHOW data_directory; data_directory ------------------------------ /opt/pgdb/postgresql/9.6/main (1 row) postgres=#
删除旧的 PostgreSQL 数据库数据目录
# sudo rm -rf /var/lib/postgresql/9.6/main.backup
假设数据库增长频繁且需要更多空间,最好的解决方案是将 PostgreSQL 数据目录重新定位到新位置。
在本文中,我们将介绍如何在 Ubuntu 16.04 上更改或者移动 PostgreSQL 数据库数据目录到新位置。
日期:2020-06-02 22:17:39 来源:oir作者:oir