1.17. 使用数据库转储和恢复进行故障排除
在生产环境中,定期备份您的 PostgreSQL 数据库作为数据库管理任务。备份也可用于调试多集群全局 hub。
1.17.1. 症状:带有多集群全局 hub 的错误 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可能会遇到多集群全局 hub 的各种错误。您可以使用数据库转储和恢复来排除多集群全局 hub 的问题。
1.17.2. 解决问题: 为 dubugging 转储数据库输出 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
有时您需要转储多集群全局 hub 数据库中的输出,以调试问题。PostgreSQL 数据库提供 pg_dump 命令行工具来转储数据库的内容。要转储 localhost 数据库服务器的数据,请运行以下命令:
pg_dump hoh > hoh.sql
pg_dump hoh > hoh.sql
要转储位于带有压缩格式的远程服务器中的多集群全局 hub 数据库,请使用命令行选项控制连接详情,如下例所示:
pg_dump -h my.host.com -p 5432 -U postgres -F t hoh -f hoh-$(date +%d-%m-%y_%H-%M).tar
pg_dump -h my.host.com -p 5432 -U postgres -F t hoh -f hoh-$(date +%d-%m-%y_%H-%M).tar
1.17.3. 解决问题: 从转储恢复数据库 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要恢复 PostgreSQL 数据库,您可以使用 psql 或 pg_restore 命令行工具。psql 工具用于恢复 pg_dump 创建的纯文本文件:
psql -h another.host.com -p 5432 -U postgres -d hoh < hoh.sql
psql -h another.host.com -p 5432 -U postgres -d hoh < hoh.sql
pg_restore 工具用于在其中一个非纯文本格式(custom、tar 或目录)中从 pg_dump 创建的存档中恢复 PostgreSQL 数据库:
pg_restore -h another.host.com -p 5432 -U postgres -d hoh hoh-$(date +%d-%m-%y_%H-%M).tar
pg_restore -h another.host.com -p 5432 -U postgres -d hoh hoh-$(date +%d-%m-%y_%H-%M).tar