psql bat 定时任务

原理:
使用"C:\Program Files\PostgreSQL\9.0\bin\psql.exe"来建立到PostgreSQL数据库的连接后执行SQL语句。
(建立数据库连接的方法,可以参考C:\Program Files\PostgreSQL\9.0\scripts\runpsql.bat文件。)

一,执行SQL语句
SET DB_NAME=TEMP
"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h localhost -U postgres -d �_NAME% -p 5432 -w -c "SELECT * FROM TABLE1;"

二,执行SQL脚本文件
在SQL语句比较复杂时,可以先把SQL语句保存到文件中,然后用psql.exe执行该文件。
@rem move to the current file's directory
%~d0
CD %~dp0

@rem excute a sql script file to create database
"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h localhost -U postgres -d postgres -p 5432 -w -f resource/db/createdb.sql

如果有多个SQL脚本文件(如:a.sql, b.sql, c.sql),可以新建一个SQL脚本文件(index.sql)来调用这多个脚本文件,这样在BAT中只需要一个命令语句,而不需要多次复制相似的命令。新建index.sql文件的内容可以是:
\i resource/db/createdb.sql
\i resource/db/createsp.sql
\i resource/db/insertdata.sql

备注:
在CMD窗口中输入 "C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -? 可以查找psql的相关命令。
建立了数据库连接后,可以用help命令,或者\? 查找sql命令。
原文地址:https://www.cnblogs.com/xiongsd/p/3123700.html