pg_dumpall
是一个用于导出集群中所有数据库以及/或全局对象的核心实用程序。
pg_dumpall
添加于PostgreSQL 6.0。
更改历史记录
开发中
- PostgreSQL 17
- 添加了选项
--filter
(提交 a5cf808b)
- 添加了选项
- PostgreSQL 15
- 添加了选项
--no-table-access-method
(提交 21586288) - 删除了从低于 PostgreSQL 9.2 版本进行转储的支持 (提交 30e7c175)
- 添加了选项
- PostgreSQL 14
- 添加了选项
--no-toast-compression
(提交 694da198)
- 添加了选项
- PostgreSQL 11
- PostgreSQL 9.5
- 删除了冗余的选项
-i
/--ignore-version
(提交 232cd63b)
- 删除了冗余的选项
- PostgreSQL 9.4
- 添加了选项
--if-exists
(提交 9067310c)
- 添加了选项
- PostgreSQL 9.3
- PostgreSQL 8.0
- PostgreSQL 7.4
- PostgreSQL 7.3
- 使用 C 重写 (提交 7af5ea73)
- PostgreSQL 7.1
- 使用
CREATE USER
和CREATE GROUP
而不是pg_shadow
和pg_group
的副本 (提交 51afb930)
- 使用
- PostgreSQL 6.1
- 启用数据库所有权的保留 (提交 2fc04874)
- PostgreSQL 6.0
- 添加 (提交 3d97a61a)
示例
转储新初始化的数据库集群的全局对象
$ pg_dumpall --globals-only -- -- PostgreSQL database cluster dump -- SET default_transaction_read_only = off; SET client_encoding = 'UTF8'; SET standard_conforming_strings = on; -- -- Roles -- CREATE ROLE postgres; ALTER ROLE postgres WITH SUPERUSER INHERIT CREATEROLE CREATEDB LOGIN REPLICATION BYPASSRLS; -- -- PostgreSQL database cluster dump complete --
参考文献
- PostgreSQL 文档: pg_dumpall