多postgresql库批量执行SQL脚本文件

本文介绍了如何通过shell脚本批量在多个PostgreSQL数据库中执行SQL脚本。首先编辑pgpass文件设置连接信息,然后创建shell脚本,通过查询pg_database表获取数据库名,遍历执行SQL并备份执行日志和脚本。最后执行shell脚本来运行脚本。
摘要由CSDN通过智能技术生成

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文件写数据,因为p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值