备份

数据库备份 (使用默认选项)

$ pg_dump mydb > mydb.bak.sql

// 使用纯文本 SQL 脚本文件 (mydb.bak.sql) 创建数据库“mydb”的备份 (pg_dump)

数据库备份 (使用自定义选项)

$ pg_dump -c -C -F p -f mydb.bak.sql mydb

// 使用纯文本格式创建数据库“mydb”的备份,其中包含 drop 和 create 数据库命令,包含在输出文件 mydb.bak.sql 中 (pg_dump)

备份选项

– -c: 输出命令以清除 (删除) 数据库对象,然后再写入创建它们的命令

– -C: 从 “CREATE DATABASE” 命令本身开始输出,并重新连接到已创建的数据库

– -F: 输出的格式 (值 p 表示纯 SQL 输出,值 c 表示适合 pg_restore 的自定义存档格式)

– -f: 备份输出文件名

远程备份

$ pg_dump -h <remote_host> -p <port> -U <user> -f mydb.bak mydb

// 在客户端计算机上运行 pg_dump 以备份远程 Postgres 服务器上的数据 (pg_dump)

使用 -h 标志指定远程主机的 IP 地址,使用 -p 指定 PostgreSQL 监听的端口

所有数据库备份

$ pg_dumpall > alldb.bak.sql

// 所有数据库以及数据库角色和集群范围信息的备份。 (pg_dumpall)