一個批處理如何創建許多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