2016-01-13 2 views
0

Как можно создать партию нескольких баз данных и пользователей PostgreSQL, одну базу данных для каждого пользователя?Как создавать базы данных PostgreSQL?

У меня есть список имен пользователей linux, и мне нужно создать нового пользователя postgres для каждого имени пользователя linux, а затем создать эксклюзивную базу данных для нового пользователя в домашней папке, которую не могут видеть другие пользователи, кроме root.

Я знаю, как использовать 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 

Затем сделать

chmod 0755 db.sh 

и выполнить его с

./db.sh 

Вы, возможно, придется изменить PGUSER к вашей среде.

Штуцерные петли: http://www.tutorialspoint.com/unix/unix-loop-control.htm

Смежные вопросы