postgresql.cmd

@echo off
title PostgreSQL

rem 变量设置
if not defined PGSQL set PGSQL=%~dp0
if not defined PGLOCALDIR set PGLOCALDIR=%PGSQL%share
if not defined PGDATABASE set PGDATABASE=postgres
if not defined PGPORT set PGPORT=5432
if not defined PGUSER set PGUSER=postgres
rem 数据目录,按需设置
if not defined PGDATA set PGDATA=%PGSQL%\Data\data
rem 日志,按需设置
if not defined PGLOG set PGLOG=%PGSQL%\Data\log.txt

rem 首次运行初始化一个新的数据库
if not exist "%PGDATA%" (
    echo.
    echo 首次使用正在初始化数据库, 请稍候...
    "%PGSQL%\bin\initdb" -U %PGUSER% -A trust -E utf8 --locale=C >nul
)

rem 启动postgres服务器
echo.
"%PGSQL%\bin\pg_ctl" -D "%PGDATA%" -l "%PGLOG%" -w start
cls
echo.
echo 键入 \q 退出并关闭服务器
echo.
"%PGSQL%\bin\psql.exe" --port=%PGPORT% --dbname="%PGDATABASE%" --username="%PGUSER%"
echo.
"%PGSQL%\bin\pg_ctl" -D "%PGDATA%" stop