PostgreSQL 註冊啓動 及 停用卸載 批處理腳本

註冊啓動 pg_install.bat:

echo off
set PGSQL_DIR=%~dp0

if not "%PGSQL_HOME%"=="" (
    if not "%PGSQL_HOME%"=="%PGSQL_DIR%" (
        echo PGSQL_HOME=%PGSQL_HOME% != PGSQL_DIR=%PGSQL_DIR%
        goto pg_ends
    )
) else (
    set PGSQL_HOME=%PGSQL_DIR%
    echo PGSQL_HOME must be set as PGSQL_DIR=%PGSQL_DIR%
)

set PATH=%PGSQL_HOME%bin;%PGSQL_HOME%lib;%PATH%

pg_isready -h localhost 1>nul 2>nul
@if "%ERRORLEVEL%" == "0" (
    echo PostgreSQL is running.
    goto pg_ends
)

echo "PGSQL_HOME = %PGSQL_HOME%"
echo Install and start PostgreSQL server ...


@if not exist %PGSQL_HOME%data (
	mkdir %PGSQL_HOME%data
	%PGSQL_HOME%bin/initdb --username=root --pgdata=%PGSQL_HOME%data --encoding=UTF8 --locale=chinese
	rem @if not "%ERRORLEVEL%" == "0" (
	rem There ERRORLEVEL is 2, but successfully inited
	rem 	echo PostgreSQL initdb failed.
	rem 	goto pg_ends
	rem )
) 

pg_ctl register --pgdata=%PGSQL_HOME%data -N pgsql_srv -S demand
net start pgsql_srv
rem pg_ctl -w start

pg_isready -h localhost 1>nul 2>nul
@if "%ERRORLEVEL%" == "0" (
	echo PostgreSQL server started successfully
) else (
	echo Failed to start PostgreSQL server
)

:pg_ends

cmd /K


 停用卸載 pg_stop.bat:

@echo off

echo Stop and uninstall PostgreSQL server ...

pg_isready -h localhost 1>nul 2>nul
@if "%ERRORLEVEL%" == "0" (
    net stop pgsql_srv
)

pg_ctl unregister -N pgsql_srv
@if "%ERRORLEVEL%" == "0" echo Unregister PostgreSQL successfully

:my_ends

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章