1.19. 使用数据库转储和恢复进行故障排除
在生产环境中,定期备份您的 PostgreSQL 数据库作为数据库管理任务。备份也可用于调试多集群全局 hub。
1.19.1. 症状:带有多集群全局 hub 的错误 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可能会遇到多集群全局 hub 的各种错误。您可以使用数据库转储和恢复来排除多集群全局 hub 的问题。
1.19.2. 解决问题: 为 dubugging 转储数据库输出 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
有时,您需要转储 multicluster global 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.19.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