database - "permission denied"用于 pg_dump 输出文件

标签 database postgresql command-line backup pg-dump

我用下面的命令来备份我的数据库

sudo -u user_name pg_dump dbName -f/home ..../someWhere/db.sql

但它给了我这个:

pg_dump:[archiver] 无法打开输出文件“/home ..../someWhere/db.sql”:权限被拒绝

在谷歌搜索这个问题后,我发现我必须在 /tmp 路径下备份我的数据,但不起作用

我该如何解决这个问题?

提前致谢,


我正在使用 Ubuntu 12.04lts

最佳答案

看起来您的 pg_dump 工作正常,但以 sudo 用户身份打开输出文件时遇到问题。只是猜测,但是,如果您作为用户(大概是运行 pg_dump 命令的用户)id 进行重定向,那么应该这样做,即:

sudo -u user_name pg_dump dbName >/home ..../someWhere/db.sql

使用这种技术,您的 pg_dump 将作为 postgres 用户运行(假设 user_name 是谁),并且正在写入/home 的文件...将使用运行命令的用户的权限写入(该用户可能有不同于 postgres 用户的权限)。

关于database - "permission denied"用于 pg_dump 输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21457456/

相关文章:

python-3.x - 提取和重新格式化 PostgreSQL 查询输出 (python)

linux - 是否可以在有关目录或文件的目录中添加注释?

python - 如何让我的命令行使用特定版本的 python?

mysql - 如何将 PostgreSQL 数据库中的所有 SMALLINT 列转换为 BOOLEAN?

javascript - 在nodejs中为oracledb提交后释放连接的正确方法是什么

sql - 如何连接2个表

python - 从 python 路径中永久删除目录

php - Yii 1查询返回错误数据

sql - 是否可以通过 SQL SELECT 语句更改数据库?

python - 如何通过csv文件将特定列复制到postgresql