在CentOS系统上使用pgAdmin进行PostgreSQL数据库的备份与恢复,主要涉及物理备份和逻辑备份两种方式。以下是详细的步骤:
物理备份
物理备份是指直接备份数据库文件,包括数据文件和WAL日志文件等。这种方式的优点是可以恢复到某个特定的时间点。
- 使用pgAdmin进行物理备份:
- 打开pgAdmin并连接到PostgreSQL服务器。
- 右击要备份的数据库,选择“Backup…”。
- 在弹出的对话框中,选择“Backup as custom tarball”以进行物理备份。
- 使用命令行进行物理备份:
pg_basebackup -h localhost -U postgres -D /path/to/backup -P -X stream -R -f custom
逻辑备份
逻辑备份是指通过SQL语句导出数据库中的表结构和数据。这种方式的优点是可以在不同的PostgreSQL版本之间迁移。
- 使用pgAdmin进行逻辑备份:
- 在pgAdmin中,右击要备份的数据库,选择“Backup…”。
- 然后选择“Backup as plain SQL”。
- 使用命令行进行逻辑备份:
pg_dump -h localhost -U postgres -Fc dbname > dbname.backup
恢复备份
恢复备份时,根据备份的类型(物理或逻辑)选择相应的恢复方法。
逻辑备份恢复
psql -h localhost -U postgres dbname < dbname.backup
或者使用pgAdmin:
- 在pgAdmin中,右击数据库,选择“Restore…”并选择之前导出的SQL文件或备份文件。
物理备份恢复
pg_basebackup -h localhost -U postgres -D /path/to/restore -P -X stream -R
请注意,执行恢复操作前,请确保备份文件的完整性和适用性,并在非生产环境中先行测试恢复流程,以避免数据丢失或系统中断。