![](/img/trans.png)
[英]ERROR: permission denied for relation after Heroku pg_dump and import to development database
[英]“permission denied” for pg_dump output file
我用下面的命令来备份我的数据库
sudo -u user_name pg_dump dbName -f /home ..../someWhere/db.sql
但它给了我这个:
pg_dump: [archiver] could not open output file "/home ..../someWhere/db.sql": Permission denied
谷歌搜索这个问题后,我发现我必须在/tmp
路径下备份我的数据,但不起作用
我该如何解决这个问题?
提前致谢,
我正在使用 Ubuntu 12.04 lts
看起来您的 pg_dump 工作正常,但是以 sudo 用户身份打开输出文件时遇到问题。 只是猜测,但是,如果您以用户(可能是运行 pg_dump 命令的用户)身份进行重定向,则应该这样做,即:
sudo -u user_name pg_dump dbName > /home ..../someWhere/db.sql
使用这种技术,您的 pg_dump 将作为 postgres 用户运行(假设这是 user_name 是谁),并且写入 /home... 的文件将使用运行命令的用户的权限写入(此用户可能具有不同的权限) postgres 用户)。
从psql command-line
尝试pg_dump
如下:
postgres=# \! pg_dump dbName -f /home ..../someWhere/db.sql
从 psql 命令行执行,如下所示
-bash-4.1$ pg_dump -Fp dbName -f /home ..../someWhere/db.sql &
-F选择输出的格式,其中p是输出一个纯文本的 SQL 脚本文件
和&最后将在后台运行您的备份。
以防万一其他人像我一样登陆这里,请注意,如果文件夹不存在, pg_dump
也会显示此错误。 在这种情况下,只需使用mkdir -p folder_name
预先创建目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.