2016-08-17 41 views
2

我有一个Web应用程序查询Postgresql数据库(成功),我正在寻找将数据文件夹从位置/var/lib/postgres/9.3/main移动到可自定义的位置。在Ubuntu上移动postgres数据文件夹

现在我因为权限错误而无法复制该文件夹,但我无法为自己分配权限,因为这会打破postgres服务器。

(我打破了运行sudo chown <username> -R /var/lib/postgres/9.3/main服务器 - 这是一名命令,而是从工作停止Postgres的服务器)

我想简单地创建一个新的文件夹,并改变位置,但我会失去当前我的数据库实例如果完成了。

如何将当前文件夹移动到新位置,以便我可以在.conf文件中指向它?我需要明确移动文件夹,我无法创建新的数据库。

+0

为什么你需要搬家呢?最有可能的移动数据dir是一个错误的回答你的问题 – frlan

+0

@frlan我的web应用程序是从一台linux虚拟机运行,我通过IP从Windows机器查询它,我希望能够将数据放到Windows机器上的一个共享文件夹中,并且有一个虚拟机(VM),而不是而不是只有一个300GB的Linux实例是一个Web服务器。 –

+0

@frlan相信我我知道移动数据是错误的方式,但需要数周才能将数据转换为当前状态,我无法重新启动该过程。 –

回答

0
  • 你可以复制或移动的目录,包括所有的子目录和文件 cp -rpmv应该够了这一点。
  • 的Postgres必须没有运行,而你是用文件
  • 的数据drectory(PG_DATA)的基础搞乱必须归的Postgres,并有文件模式0700。 (当不:PG将拒绝启动)
  • [该文件的其余部分必须至少是可读由postgres的/ writeble]
  • 新的位置也必须是已知的启动过程(在/etc/init.d/和(可能)在数据目录中的文件postgres.conf(日志文件位置)