postgresql windows自动导出sql

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cn_yaojin/article/details/85005233
@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"

set PGPASSWORD="D:/sql_bak/pws.vbs"
SET PGPATH="D:/Program Files/PostgreSQL/10/bin/pg_dump"
SET SVPATH=D:/sql_bak/
SET PRJDB=fame
SET DBUSR=postgres
FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k
FOR /F "TOKENS=1,2,3 DELIMS=: " %%i IN ('TIME /T') DO SET t=%%i%%j%%k

SET DBDUMP=%PRJDB%_%d%_%t%.sql

%PGPATH% -h 127.0.0.1 -p 5432 -U %DBUSR% %PRJDB% > %SVPATH%%DBDUMP%

echo Backup Taken Complete %SVPATH%%DBDUMP%

将以上文件保存为 bat格式。 

PGPATH:postgresqsl 安装目录

SVPATH:备份路径

PRJDB:数据库名字

DBUSR:用户名

数据库修改配置文件:pg_hba.conf

设了对本地要密码md5认证。

----------------------------------------------------------------------------
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5

-----------------------------------------------------------------------------

改成这样,本地备份就不用输入密码了(改后要重启服务)

----------------------------------------------------------------------------
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all         127.0.0.1/32          trust

cmd 然后进入postgresql的bin目录

执行

psql -h localhost -U username -d database < d:/data.bak

猜你喜欢

转载自blog.csdn.net/cn_yaojin/article/details/85005233
今日推荐