Linux命令行中的pg_dump

问题描述 投票:0回答:1

我正在尝试找出一种通过RHEL v6.10命令行执行单个数据库的PostgreSQL pg_dump的方法。现在,我正在研究的系统是,在进入PSQL之前,您必须首先嵌入Bash 4.1。现在,我可以在命令行中使用以下语法访问实际的PSQL db,效果很好:

'''sudo -u postgres -H --psql -pxxxxx -d db_name'''

如果我从RHEL命令行输入以下语法:

'''sudo su postgres'''

我最终进入bash-4.1 shell。从外壳程序中执行以下命令时:bash-4.1 $ pg_dump db_name> /tmp/my_database.sql出现以下错误:

pg_dump:[存档(db)]与数据库“ db_name”的连接失败:无法连接至服务器:没有这样的文件或目录 服务器是否在本地运行并接受 Unix域套接字“ /var/run/postgresql/.s.PGSQL.5432”上的连接?

我希望将数据库导出到/tmp/my_database.sql文件。我已经尝试了RHEL和bash命令行的各种命令组合,但是无法达到预期的效果。非常感谢您的协助,谢谢。

dump pg
1个回答
0
投票

尝试一下:

以'postgres'用户身份连接

sudo -i -u postgres

然后运行pg_dump,例如

pg_dump --blobs --file /your/backup/file/path/backupfilename.pgsql --dbname your_db_name

此后,您将在/your/backup/file/path/backupfilename.pgsql中找到您的备份文件>

您可以在pg_dump中添加许多其他选项,See PostgreSQL Documentation

© www.soinside.com 2019 - 2024. All rights reserved.