一个批处理如何创建许多PostgreSQL数据库和用户,每个用户有一个数据库?如何批量创建PostgreSQL数据库?
我有一个Linux用户名列表,我需要为每个linux用户名创建一个新的postgres用户,然后为主文件夹中的新用户创建一个独有的数据库,除了根目录外,其他用户都无法看到这个数据库。
我知道如何使用CREATE DATABASE
但我不太熟悉PostgreSQL中的循环等。任何指针赞赏。
一个批处理如何创建许多PostgreSQL数据库和用户,每个用户有一个数据库?如何批量创建PostgreSQL数据库?
我有一个Linux用户名列表,我需要为每个linux用户名创建一个新的postgres用户,然后为主文件夹中的新用户创建一个独有的数据库,除了根目录外,其他用户都无法看到这个数据库。
我知道如何使用CREATE DATABASE
但我不太熟悉PostgreSQL中的循环等。任何指针赞赏。
从外壳做它,它就会少了很多工作:
$ for user in $(cat usernames.txt); do
createuser -e $user
createdb -e -O $user $user
done;
顺便说一句,随机Postgres的命令,你可以使用psql -c
运行命令行SQL非交互方式。
一种方法是让喜欢db.sh
#!/bin/sh
users="foo bar baz"
for user in $users
do
PGUSER=pguser createdb $user
done
一个shell脚本,然后做一个
chmod 0755 db.sh
而且随着
./db.sh
执行它,您可能需要更改PGUSER到你的环境。
壳环: http://www.tutorialspoint.com/unix/unix-loop-control.htm