多postgresql库批量执行SQL脚本文件
来源:互联网 发布:科技网络报修电话 编辑:程序博客网 时间:2024/05/20 07:33
1、编辑pgpass文件
pgpass文件内容格式为: 地址:端口:数据库名称:用户名:密码
cd ${HOME}
vi .pgpass
编辑如 :192.168.1.90:5432:ABCD:odoo:odoo
保存后 chmod 600 .pgpass
2、编辑shell脚本
mkdir shell
cd shell
mkdir back #存放备份文件
vi execute_sql.shell
#!/bin/bash
DATE=$(date +%Y%m%d)
DIR="sql_back_${DATE}"
HOST="192.168.1.90"
PORT="5432"
USER="odoo"
PASSWORD="odoo"
#通过查询pg_database表根据datname字段查询出需要批量执行的库
datanames=`psql -h $HOST -d ABCD -U $USER -c"SELECT datname FROM pg_database;"|tail -n +3|head -n -2`
#清空.pgpass文件
echo "" >${HOME}/.pgpass
for dataname in $datanames
do
#遍历往.pgpass文件写数据,因为psql没提供-p 输密码的参数,所以只能通过.pgpass
echo $HOST:$PORT:$dataname:$USER:$PASSWORD >>${HOME}/.pgpass
#执行SQL脚本
psql -h $HOST -d $dataname -U $USER -f *.sql -o out.log
done
#备份执行脚本
cd ${HOME}/shell/back
mkdir "$DIR"
mv ../*.sql ./$DIR
#注释都是后来自己写的,可能格式有问题,呜呜~~,请自己调下
3、执行脚本
1)将后缀为sql的脚本文件放到与execute_sql.shell同级目录下
2)sh execute_sql.shell
3) SQL脚本执行完成后会自动备份
- 多postgresql库批量执行SQL脚本文件
- oracle批量执行文件脚本sql
- 批量执行SQL脚本
- 批量执行SQL脚本
- Windows下MySQL批量执行SQL脚本文件
- oracle使用bat脚本批量执行sql文件
- Windows下MySQL批量执行SQL脚本文件
- 批量执行SQL文件
- 批量执行SQL文件
- DB2 SQL脚本批量执行
- DB2 SQL脚本批量执行
- DB2 SQL脚本批量执行
- oracle sql脚本批量执行
- 执行sql脚本文件
- Oracle批量执行SQL文件
- Oracle批量执行SQL文件
- sqlplus中批量执行sql脚本
- Postgresql通过批处理命令执行sql文件
- java 学习第一节--基本语法
- VS2015编译Qt5.7静态库
- php中一个header()跳转到另外一个页面后要加exit()
- 07、canvas标签之canvas变换
- 【数据库】数据库的四个范式之间的区别
- 多postgresql库批量执行SQL脚本文件
- Light OJ-----1104数学题
- 数据库事务(1)数据库事务的特性以及 并发事务引起的问题
- open JDk 7编译 环境ubuntu 14 jdk8
- C#开发命名规范
- 8.Rotate String-旋转字符串(容易题)
- Linux下的进程3——进程创建,文件替换,进程程序替换
- docker本地镜像文件位置修改
- MYSQL 函数