恢复.dump文件 - "权限被拒绝"

时间:2015-07-10 19:56:48

标签: postgresql centos psql postgresql-9.4 pg-restore

我正在建立一个网站,但在恢复数据库.dump文件时遇到了一些问题。我正在使用centos7,selinux,postgresql 9.4和apache2。

这是my pg_hba.conf file

enter image description here

这是我试图移动转储的命令:

psql --single-transaction -U postgres db_name < dump_location

当我这样做时,我收到错误:

  

许可被拒绝。

我是否遗漏了某些东西,或者有什么东西我应该改变我的设置?如果您需要更多信息,请与我们联系。

谢谢!

2 个答案:

答案 0 :(得分:1)

您运行shell的操作系统用户没有读取路径dump_location的权限。

请注意,必须是您运行psql的操作系统用户。在如下的声明中:

sudo -u postgres psql mydb < /some/path

然后/some/path作为当前用户读取,在sudo 之前,而不是用户postgres,因为它是 shell 执行输入重定向,而不是psql

如果在上面的示例中,您希望以用户postgres的形式阅读该文件,那么您将:

sudo -u postgres psql -f /some/path mydb

指示psql/some/path启动时开启并阅读。{/ p>

答案 1 :(得分:0)

只需确保您使用的是正确的数据库用户,并且您至少具有转储文件的读取权限。

&#34; psql -d -U postgres -f&#34;

会奏效。