如何将 pg_dump / pg_dumpall 与 postgres DB 一起使用?
我不确定这是权限问题还是我做错了什么,任何帮助将不胜感激。 我有一个专用的 Ubuntu 服务器,上面安装了 Postgres DB。我想备份数据库,但是当我使用 pg_dump 时,我的权限被拒绝。有人可以帮我吗? 以下是有关我的设置的一些详细信息。
在 postgres 上:我有以下数据库。
postgres,
template0,
template1,
mydb,
mydb1
我有 2 个 PostgreSQL 用户
postgres,
mydb (There are no postgresql groups defined yet)
postgres 的所有其他设置都是默认值。
在我的 ubuntu 上,我有 2 个用户。
user1,
mydb
我使用 SSH 以 root/user1 身份登录到盒子,发出以下命令,
$ pg_dumpall > a.sql
我得到 -bash: a.sql: Permission returned pg_dump 命令也是如此。
我知道我在这里错过了一些东西。有人可以指导我正确发出此命令吗? TIA。
I am uncertain if its the permissions issue or something I am doing wrong and any help will be greatly appreciated.
I have a dedicated Ubuntu server with Postgres DB installed on it. I want to backup the databases, but when I use pg_dump I get permission denied. Can some one help me out?
Here are a few details about my set up.
On postgres: I have the following databases.
postgres,
template0,
template1,
mydb,
mydb1
I have 2 PostgreSQL users
postgres,
mydb (There are no postgresql groups defined yet)
All the other settings for postgres are default values.
On my ubuntu itself, I have 2 users.
user1,
mydb
I logged into the box as root/user1 using SSH, issued the following commands,
$ pg_dumpall > a.sql
I get, -bash: a.sql: Permission denied
Same goes with pg_dump command.
I know I am missing something here. Can some one guide me to properly issue this command?
TIA.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这看起来更像是文件权限问题。操作系统用户是否有权写入转储文件?检查文件/目录权限。
This looks more like a file permission issue. Does the OS user have the right to write the dump file? Check file/directory permissions.
当您运行该命令时
,您的 shell 将尝试在当前目录中创建文件
a.sql
。如果您(作为“user1”)没有在当前目录中创建文件的权限,请首先使用 cd 命令更改到您有权限的目录。您可以使用pwd
命令查看当前目录实际是什么。When you run the command
then your shell will attempt to create the file
a.sql
in the current directory. If you (as "user1") do not have permission to create files in the current directory, then first use thecd
command to change to a directory where you do have permission. You can use thepwd
command to see what the current directory actually is.