我正在尝试找出一种通过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命令行的各种命令组合,但是无法达到预期的效果。非常感谢您的协助,谢谢。
尝试一下:
以'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