postgresql - 从 postgres 的文件夹中执行 sql 文件
问题描述
我有一组 sql 文件放在 postgres docker 映像的文件夹中。每当创建一个新帐户时,我都希望创建一个新数据库,并且所有这些脚本都应该在这个新创建的数据库上执行。
将手动创建新数据库。我需要创建 sh 文件来询问数据库名称、主机、端口、密码等,然后在新创建的数据库上执行所有 sql 文件。
我试过了,我可以执行一个文件
psql -h localhost -d sampledb -U superuser -f sample.sql
我需要执行文件夹中的所有文件。我怎么能做到这一点。
解决方案
在这里,您可以使用小型 bash 脚本。将所有 sql 文件复制到一个文件夹中,例如 test. 然后执行下面的脚本行。
for i in $(ls -l test/*.sql |awk '{print $NF}'); do
psql -h localhost -d sampledb -U superuser -f $i;
done
推荐阅读
- regex - 在 Google Docs 中用一个换行符替换多个换行符
- python - 云预测和本地预测不返回相同的结果
- r - 闪亮的服务器无法显示仪表板主体功能
- php - 在 Laravel 中从控制器到没有 foreach 循环的视图的变量
- java - 无法在 Android 中执行文本到语音转换
- java - 最佳实践:访问 DAO 而不使其成为 Singleton
- ios - UIScrollView 或 UICollectionView 按从 firebase 调用的顺序滑动图像?
- google-cloud-platform - 如何从没有外部 IP 的 GCE VM 中读取存储桶?
- asp.net - 关于发送多封邮件
- r - 每分钟对应的最后一个值