现在的位置: 首页 > 数据库 > PostgreSQL > 正文

PostgreSQL 注册启动 及 停用卸载 批处理脚本

2015年01月13日 PostgreSQL ⁄ 共 1174字 ⁄ 字号 暂无评论

注册启动 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