@echo off setlocal rem === CONFIGURAÇÕES === set "PG_BIN=C:\Program Files\PostgreSQL\9.4\bin" set "PG_DATA=C:\opt\pdv_gourmet\config\Dados\data" set "PG_PORT=5432" set "LOG_FILE=%PG_DATA%\startup_monitor.log" rem === AVISO INICIAL === echo ===================================================== echo ATENÇÃO: Certifique-se de que NENHUM processo do PostgreSQL echo está em execução no Gerenciador de Tarefas antes de continuar. echo Caso contrário, este script pode falhar ou causar conflitos. echo ===================================================== echo. pause rem === INICIA O POSTGRES === echo ----------------------------------------- echo INICIANDO RECUPERAÇÃO DO POSTGRESQL... echo ----------------------------------------- echo. echo Iniciando PostgreSQL... "%PG_BIN%\pg_ctl.exe" -D "%PG_DATA%" -l "%LOG_FILE%" start echo. echo Aguardando o PostgreSQL aceitar conexões na porta %PG_PORT%... echo Isso pode demorar dependendo do tamanho do banco de dados. echo. rem === AGUARDA A CONEXÃO ESTAR DISPONÍVEL === :aguarda_conexao timeout /t 2 >nul "%PG_BIN%\pg_isready.exe" -p %PG_PORT% >nul if %ERRORLEVEL% NEQ 0 goto aguarda_conexao rem === CONEXÃO OK === echo ----------------------------------------- echo PostgreSQL está ACEITANDO conexões! echo ----------------------------------------- echo. rem === ENCERRA O POSTGRES === echo Encerrando o PostgreSQL de forma controlada... "%PG_BIN%\pg_ctl.exe" -D "%PG_DATA%" stop rem === AVISO FINAL === echo ----------------------------------------- echo PostgreSQL foi ENCERRADO com sucesso. echo ----------------------------------------- echo. echo ===================================================== echo AGORA VOCÊ PODE: echo 1) Iniciar o serviço PostgreSQL normalmente pelo Windows echo (painel de Serviços ou comando `services.msc`) echo OU echo 2) Reiniciar o computador. echo ===================================================== echo. pause