【问题标题】:How to fix connection of postgresql after move data directory from the root HD to another HDD?将数据目录从根硬盘移动到另一个硬盘后如何修复postgresql的连接?
【发布时间】:2018-08-04 15:59:37
【问题描述】:

我正在使用 postgresql 处理大型数据集,我将数据库从安装了 Ubuntu 18.04 的同一个 HDD 移动到另一个 HDD。

我做了同样的过程并将 data_directory 移动到“Home”(它在 Ubuntu 的同一个 HDD 上,但在其他分区中),在这个位置 postgresql 工作正常。问题是我需要一个大空间来上传我的数据(比如 2 TB 硬盘),因为我试图移动到另一个硬盘,空的并且格式化为数据库专用。

我遵循本教程Link of change Data Folder。在 Ubuntu 终端中使用以下命令:

 su postgres

 /usr/lib/postgresql/10/bin/pg_ctl -D /media/path/postgresql/10/main -l logfile start

 sudo systemctl stop postgresql

 sudo systemctl status postgresql

 sudo rsync -av /var/lib/postgresql /media/path/postgresql

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

 sudo gedit /etc/postgresql/10/main/postgresql.conf  (change "data_directory")

 sudo systemctl start postgresql

 sudo systemctl status postgresql

另外,我将文件夹的所有权传递给 postgres

  chown -R postgres:postgres /media/path/postgresql/10/main

我在“/path/postgresql.conf”中写了修改以适应新的数据目录,重新启动服务器,我无法连接到服务器。

如果我尝试连接,我会在终端收到此消息

 "could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?"

在 Pgadmin 客户端,我得到的问题表现为没有连接。

【问题讨论】:

    标签: postgresql ubuntu permissions database-connection


    【解决方案1】:

    在我的例子中,rsync 出于某种原因没有复制多个文件。可能是服务器停止后它们还没有准备好或其他原因。

    第二天我又做了一次,开始还不错:

    sudo rsync -av /var/lib/postgresql/10/main.bak/ /media/disk1/postgres/postgresql/10/main/

    同时尝试检查日志以了解实际原因:

    tail -n 100 /var/log/postgresql/postgresql-10-main.log

    在我的情况下是

    postgres:找不到数据库系统 预计在目录“/media/disk1/postgres/postgresql/10/main”中找到, 但无法打开文件“/media/disk1/postgres/postgresql/10/main/global/pg_control”:没有这样的文件或目录 pg_ctl: 无法启动服务器 检查日志输出。

    【讨论】:

      猜你喜欢
      • 2012-12-11
      • 1970-01-01
      • 2012-07-10
      • 2016-11-15
      • 1970-01-01
      • 2021-01-30
      • 2016-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多