【问题标题】:pg_dump from Linux command line来自 Linux 命令行的 pg_dump
【发布时间】:2020-10-02 20:00:44
【问题描述】:

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

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

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

'''sudo su postgres'''

我最终进入了 bash-4.1 shell。从 shell 中执行以下命令时:bash-4.1$ pg_dump db_name > /tmp/my_database.sql 我收到以下错误:

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

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

【问题讨论】:

    标签: dump pg


    【解决方案1】:

    试试这个:

    以“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

    【讨论】:

    • 感谢您的帖子,我确实尝试了上面的 pg_dump 语法,并收到以下错误消息: pg_dump: unrecognized option '--dbname' 尝试“pg_dump --help”以获取更多信息。
    • 你的 PostgreSQL 版本是多少?
    • 嗨 S. Mohamad,我的 PostgreSQL 版本是:10.5 on x86_64-pc-linux-gnu Red Hat Enterprise Linux:v6.10 谢谢。
    • 从psql doc,您可以通过两种方式使用--dbname:-d your_db_name 或--dbname=your_db_name。试着告诉我
    • 嗨 S. Mohamad,使用 bash-4.1$ shell 中的 -d 时出现以下错误:pg_dump: invalid option -- 'd' 尝试“pg_dump --help”以获取更多信息。使用 --dbname 时出现以下错误: pg_dump: unrecognized option '--dbname' 尝试“pg_dump --help”以获取更多信息。我必须输入路径名吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 2012-08-05
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多