2016-01-13 152 views
0

一個批處理如何創建許多PostgreSQL數據庫和用戶,每個用戶有一個數據庫?如何批量創建PostgreSQL數據庫?

我有一個Linux用戶名列表,我需要爲每個linux用戶名創建一個新的postgres用戶,然後爲主文件夾中的新用戶創建一個獨有的數據庫,除了根目錄外,其他用戶都無法看到這個數據庫。

我知道如何使用CREATE DATABASE但我不太熟悉PostgreSQL中的循環等。任何指針讚賞。

回答

0

從外殼做它,它就會少了很多工作:

$ for user in $(cat usernames.txt); do 
    createuser -e $user 
    createdb -e -O $user $user 
done; 

順便說一句,隨機Postgres的命令,你可以使用psql -c運行命令行SQL非交互方式。

1

一種方法是讓喜歡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