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