↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 / 6.5 / 6.4
历史版本。 PostgreSQL 6.4 已结束支持。 请参阅 当前版本手册.

pg_dumpall

pg_dumpall — 把所有 Postgres 数据库抽取到一个脚本文件

大纲

pg_dumpall
pg_dumpall [ -h host ] [ -p port ]
    [ -a ] [ -d ] [ -D ] [ -o ] [ -s ] [ -u ] [ -v ] [ -z ]

输入

pg_dumpall 接受下列命令行参数:

-a

只转储数据,不转储模式(定义)。

-d

把数据转储为正确的插入字符串。

-D

把数据转储为带属性名的插入

-n

除非绝对必要,抑制标识符两边的双引号。如果有保留字被用作标识符,加载这些转储数据时可能出问题。

-o

转储每个表的对象标识符(OID)。

-s

只转储模式(定义),不转储数据。

-u

使用口令认证。提示输入用户名和口令。

-v

指定详细模式

-z

包含 ACL(grant/revoke 命令)和表所有权信息。

pg_dumpall 还接受下列用于连接参数的命令行参数:

-h host

指定 postmaster 所在机器的主机名。默认使用本地 Unix 域套接字而不是 IP 连接。

-p port

指定 postmaster 正在监听连接的 Internet TCP/IP 端口或本地 Unix 域套接字文件扩展名。端口号默认为 5432,或 PGPORT 环境变量的值(如果设置了的话)。

-u

使用口令认证。提示输入 username 和 password。

输出

pg_dumpall 将创建一个文件或写入 stdout。

Connection to database 'template1' failed. connectDB() failed: Is the postmaster running and accepting connections at 'UNIX Socket' on port 'port'?

pg_dumpall 无法连接到指定主机和端口上的 postmaster 进程。如果看到这条消息,请确保 postmaster 在正确的主机上运行,并且你指定了正确的端口。如果你的站点使用认证系统,请确保你已获得所需的认证凭据。

Connection to database 'dbname' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow'

你在关系 pg_shadow 中没有有效的条目,将不被允许访问 Postgres。请联系你的 Postgres 管理员。

dumpSequence(table): SELECT failed

你没有读取数据库的权限。请联系你的 Postgres 站点管理员。

注意

pg_dumpall 在内部执行 SELECT 语句。如果运行 pg_dumpall 遇到问题,请确保你能用例如 psql 从数据库选择信息。

描述

pg_dumpall 是一个把所有 Postgres 数据库转储到一个文件的实用工具。它还转储对所有数据库全局的 pg_shadow 表。 pg_dumpall 在这个文件中包含在加载之前自动创建每个被转储数据库的相应命令。

pg_dumpall 接受所有 pg_dump 选项,但 -f、-t 和 dbname 应当省略。

关于这一功能的更多信息请参阅pg_dump。

用法

要转储所有数据库:

% pg_dumpall -o > db.out

提示

可以为 pg_dumpall 使用大多数 pg_dump 选项。

要重新加载这个数据库:

psql -e template1 < db.out

提示

重新加载时可以使用大多数 psql 选项。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.