【发布时间】:2021-10-25 22:20:57
【问题描述】:
大家好,我对在 Postgre sql 中执行 pg_dump 还很陌生。我已经登录到服务器并以 postgres 用户身份运行。我尝试运行 pg_dump 以进行数据库迁移,但我不断收到“Permission Denied”提示。我相信我拥有最高权限并且应该能够运行它。我在终端中的语法有问题吗?非常感谢您的帮助。
问题:
*
[user@dfhsdaf07 ~]$ sudo su
[root@dfhsdaf07 user]# su postgres
bash-4.2$ pg_dump -F t file > file.tar
bash: file.tar: Permission denied
bash-4.2$ pg_dump -F t file >./file.tar
bash: ./file.tar: Permission denied
系统信息:
Macbook Pro 2015
16 GB 内存
英特尔 I7 处理器
操作系统:
macOS Big Sur 11.5.2
【问题讨论】:
-
不要使用图像来显示文本信息。复制并粘贴文本作为您问题的更新。权限问题与创建文件有关。看起来您正在尝试以
postgres用户的身份在root用户目录中创建文件。不需要所有sudo\su命令。在您的主目录中执行此操作,只需将-U postgres添加到pg_dump命令。 -
非常感谢阿德里安。我会听取你的建议,从现在开始只复制和粘贴。我会试试这个,然后将此问题标记为已解决。
-
这成功了!非常感谢阿德里安
标签: sql postgresql macos terminal database-migration