#!/usr/bin/env python # -*- coding: utf-8 -*- """ 快速恢复PostgreSQL备份脚本 """ import sys from pathlib import Path # 添加当前目录到路径 sys.path.insert(0, str(Path(__file__).parent)) from postgresql import restore_from_backup def main(): # 备份路径 backup_path = r"D:\code\vue\greater_wms\backup\base_backup\20260103_144522" # 检查是否有命令行参数(非交互模式) auto_confirm = len(sys.argv) > 1 and sys.argv[1] == '--yes' print("=" * 60) print("PostgreSQL 数据库恢复工具") print("=" * 60) print(f"\n备份路径: {backup_path}") print("\n警告:此操作将覆盖现有数据库数据!") print("当前数据目录将被备份到新位置。") if not auto_confirm: try: confirm = input("\n确认要继续恢复吗?(yes/no): ").strip().lower() if confirm != 'yes': print("操作已取消") return except EOFError: print("\n非交互模式,使用 --yes 参数自动确认") print("操作已取消") return print("\n开始恢复...") print("-" * 60) success = restore_from_backup(backup_path) print("-" * 60) if success: print("\n[成功] 数据库恢复成功!") print("PostgreSQL 服务已启动,可以开始使用数据库了。") else: print("\n[失败] 数据库恢复失败!") print("请查看日志文件 postgres_service_manager.log 获取详细信息。") sys.exit(1) if __name__ == "__main__": main()