如何在postgres DB中使用pg_dump / pg_dumpall?

时间:2010-12-05 21:13:28

标签: postgresql unix ubuntu file-permissions dump

我不确定它的权限问题或我做错了什么,任何帮助将不胜感激。 我有一个安装了Postgres DB的专用Ubuntu服务器。我想备份数据库,但是当我使用pg_dump时,我被拒绝了。有人可以帮我吗? 以下是有关我设置的一些详细信息。

关于postgres:我有以下数据库。

postgres, 
template0, 
template1, 
mydb, 
mydb1

我有2个PostgreSQL用户

postgres, 
mydb (There are no postgresql groups defined yet)

postgres的所有其他设置都是默认值。

在我的ubuntu上,我有2个用户。

user1,
mydb

我使用SSH以root / user1身份登录到该框,发出以下命令,

$ pg_dumpall > a.sql

我得到了,-bash:a.sql:权限被拒绝 与pg_dump命令相同。

我知道我在这里遗漏了一些东西。有人可以指导我正确发出这个命令吗? TIA。

2 个答案:

答案 0 :(得分:3)

  

我得到了,-bash:a.sql:权限被拒绝   与pg_dump命令相同。

这看起来更像是文件权限问题。 OS用户是否有权编写转储文件?检查文件/目录权限。

答案 1 :(得分:1)

运行命令时

pg_dumpall > a.sql

然后您的shell将尝试在当前目录中创建文件a.sql。如果您(作为“user1”)没有在当前目录中创建文件的权限,则首先使用cd命令切换到您具有权限的目录。您可以使用pwd命令查看当前目录的实际内容。