首页 > 解决方案 > 从 postgres 的文件夹中执行 sql 文件

问题描述

我有一组 sql 文件放在 postgres docker 映像的文件夹中。每当创建一个新帐户时,我都希望创建一个新数据库,并且所有这些脚本都应该在这个新创建的数据库上执行。

将手动创建新数据库。我需要创建 sh 文件来询问数据库名称、主机、端口、密码等,然后在新创建的数据库上执行所有 sql 文件。

我试过了,我可以执行一个文件

psql -h localhost -d sampledb -U superuser -f sample.sql

我需要执行文件夹中的所有文件。我怎么能做到这一点。

标签: postgresqlshell

解决方案


在这里,您可以使用小型 bash 脚本。将所有 sql 文件复制到一个文件夹中,例如 test. 然后执行下面的脚本行。

for i in $(ls -l test/*.sql |awk '{print $NF}'); do 
    psql -h localhost -d sampledb -U superuser -f $i; 
done

推荐阅读