如何正确使用 pg_dump 来进行数据库迁移?
How to use pg_dump correctly in order to do a database migration?
大家好,我对在 Postgre sql 中做 pg_dump 还很陌生。我已经登录到服务器并以 postgres 用户身份 运行ning。我尝试 运行 pg_dump 以进行数据库迁移,但我不断收到“权限被拒绝”提示。我相信我有最高权限,应该可以 运行 这个。我在终端中的语法有问题吗?非常感谢您的帮助。
问题:
*
[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 内存
Intel I7 处理器
OS:
macOS 大苏尔 11.5.2
您缺少的权限是在当前目录中创建转储文件的权限。
原因是如果你使用so postgres
,你还停留在之前的工作目录下(大概是/root
),用户postgres
没有创建文件的权限那里。
使用-
选项:
su - postgres`
这将开始登录 shell 并将您带到 postgres
的主目录。
大家好,我对在 Postgre sql 中做 pg_dump 还很陌生。我已经登录到服务器并以 postgres 用户身份 运行ning。我尝试 运行 pg_dump 以进行数据库迁移,但我不断收到“权限被拒绝”提示。我相信我有最高权限,应该可以 运行 这个。我在终端中的语法有问题吗?非常感谢您的帮助。
问题:
*
[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 内存
Intel I7 处理器
OS:
macOS 大苏尔 11.5.2
您缺少的权限是在当前目录中创建转储文件的权限。
原因是如果你使用so postgres
,你还停留在之前的工作目录下(大概是/root
),用户postgres
没有创建文件的权限那里。
使用-
选项:
su - postgres`
这将开始登录 shell 并将您带到 postgres
的主目录。