当前位置: 首页 > article >正文

PostgreSQL 批量执行脚本

现在有这样的一个需求,当前实例是一个 SAAS 版本的数据库,其上有大概 100 多个库,我现在要在这 100 多个数据库上都去执行一个 SQL 脚本,进行数据的初始化等操作。

要想实现这个功能我们首先需要创建一个 SHELL 脚本
[root@localhost ~]# cd /home/postgres/
[root@localhost postgres]# vi batch_execute_script.sh
#!/bin/bash

HOST="192.168.30.143"
PORT="5432"
USER="postgres"
PASSWORD="cloudhealth"
export PGPASSWORD=${PASSWORD}
psql -h $HOST -p $PORT -U $USER -d postgres -c "SELECT datname FROM pg_database WHERE datname like 'cloud%';" | tail -n +3 | head -n -2 > datname.txt
for i in `cat datname.txt`
do
psql -h $HOST -p $PORT -U $USER -d $i -f /usr/local/src/test.sql -o i.log
done

# cat datname.txt | while while read line;
# do
#     echo $line
#     psql -h $HOST -p $PORT -U $USER -d $line -f /usr/local/src/test.sql -o out.log
# done

说明:需要执行的 SQL 语句在 /usr/local/src/test.sql 文件中,我们只需要将需要执行的 SQL 语句放在这个文件中,然后执行这个脚本即可完成。


http://www.kler.cn/a/395466.html

相关文章:

  • see的本质是什么?
  • [JAVAEE] 面试题(四) - 多线程下使用ArrayList涉及到的线程安全问题及解决
  • python——面向对象
  • 马斯克万卡集群AI数据中心引发的科技涟漪:智算数据中心挑战与机遇的全景洞察
  • Vector Optimization – Stride
  • HAproxy 详解
  • 用OMS进行 OceanBase 租户间数据迁移的测评
  • 【复盘笔记】国考25一期_套题8
  • 【UGUI】Unity 游戏开发:背包系统初始化道具教程
  • Android系统设置页面更改语言 权限 主题导致app崩溃
  • labview实现功能性全局变量
  • 华为三层交换机禁止VLAN间通讯(两种解决方案)
  • [AIGC]使用阿里云Paraformer语音识别录音识别 API 进行音频处理 —— 完整流程及代码示例
  • 后仿真中的GLS测试用例的选取规则
  • 2024自动驾驶线控底盘行业研究报告
  • postgresql.conf与postgresql.auto.conf区别
  • 【postman】怎么通过curl看请求报什么错
  • 入侵排查之Linux
  • 自监督对比学习奠基之作CPC
  • mysql字符串、数学、日期和时间、类型转换、逻辑函数函数的说明用法
  • 安全见闻8
  • MATLAB蒙特卡洛仿真计算投资组合的VaR(Value at Risk )
  • LeetCode Hot 100 题解[java版本,冲大厂]
  • 使用Markmap从链接生成脑图并下载为交互式HTML文件
  • 大数据技术之Hadoop :我是恁爹
  • JVM详解:类的加载过程