pg_dump错误:权限被拒绝

时间:2012-09-29 02:22:19

标签: ruby-on-rails postgresql pg-dump

我需要使用pg_dump命令将我的开发数据库转储到一个文件,然后将其上传到我的heroku托管rails应用程序。

我无法使用rails命令

  "heroku db:push"

Heroku支持人员要求我使用pg_dump工具在cleint和server之间发送传输数据库。

我刚刚运行了这个命令:

  pg_dump -U XXXXX -w app0521_development

它将我的数据库的全部内容输出到控制台

但是这个命令由于某种原因失败了:

  pg_dump -U postgres -w app0521_development > test.dump

出现此错误消息      -bash:test.dump:权限被拒绝

2 个答案:

答案 0 :(得分:1)

我认为您需要创建一个特殊的文件夹并给postgres用户/组访问权限读取+写入,或者您应该能够将其发送到/tmp/test.dump;

pg_dump -U postgres -w app0521_development > /tmp/test.dump

大多数时候(至少在Ubuntu上),/ tmp文件夹对每个人都有“read + write + execute”。只是一个警告...如果它有敏感的数据,它就在那里,每个人都可以上机。所以,清理它!另外值得注意的是,/ tmp文件夹设置了“t”标志。 “t”表示只有在此目录中创建文件的用户(和root)才能删除该文件。

如果你想创建自己的文件夹,只需谷歌“chgrp” - 当然你需要给小组“读写”。

答案 1 :(得分:0)

  

出现此错误消息-bash:test.dump:Permission denied

尝试输入>在test.dump之前,看看会发生什么。我假设那是你想要的备份文件?这听起来像文件系统权限问题。