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

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

已结束支持的版本: 7.0
历史版本。 PostgreSQL 7.0 已结束支持。 请参阅 当前版本手册.

pg_dumpall

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

大纲

pg_dumpall
pg_dumpall [ -h host ] [ -p port ] [ -a ] [ -d ] [ -D ] [ -O ] [ -s ] [ -u ] [ -v ] [ -x ]
  

输入

pg_dumpall 接受下列命令行参数:

-a

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

-d

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

-D

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

-n

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

-o

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

-s

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

-u

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

-v

指定详细模式

-x

不转储 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 could not attach to the postmaster process on the specified host and port. If you see this message, ensure that the postmaster is running on the proper host and that you have specified the proper port. If your site uses an authentication system, ensure that you have obtained the required authentication credentials.

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 > db.out
   

提示

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

重新装载这个数据库:

% psql -e template1 < db.out
   

提示

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

报告文档问题

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