Запускаем psql под пользователем postgres:
dbuser – имя пользователя,
dbpass – пароль пользователя dbuser. И говорим серверу PostgreSQL перечитать измененный конфиг pg_hba.conf:
Ссылки по теме:
1. PostgreSQL. Как создать базу данных и пользователя для нее.
su postgres -c psqlТеперь в консоли PostgreSQL вводим следующие команды:
create database dbname with encoding='UNICODE'; create user dbuser with password 'dbpass'; grant all privileges on database dbname to dbuser;А также не забываем дать доступ новому пользователю к серверу, для этого в файле /var/lib/pgsql/data/pg_hba.conf:
# For dbuser: host dbname dbuser 127.0.0.1/32 md5 local dbname dbuser md5Где dbname – имя базы данных,
dbuser – имя пользователя,
dbpass – пароль пользователя dbuser. И говорим серверу PostgreSQL перечитать измененный конфиг pg_hba.conf:
root@Linux# service postgresql reloadСкрипт для удобства:
#!/bin/sh PGPORT= echo 'Input dbname: ' read dbname dbuser=${dbuser:-$dbname} echo "Input dbuser: [$dbuser]" # Generate by dbname. randpass=$(tr -cd A-Za-z < /dev/urandom | head -c8) echo "Input dbpass [$randpass]:" # Generate random. read dbpass dbpass=${dbpass:-$randpass} # Facepalm centos... Need fill path to binary psql: /usr/pgsql-9.3/bin/psql su - postgres -c "/usr/pgsql-9.3/bin/psql --dbname=$DB --port=$PGPORT <<_EOF \x CREATE DATABASE $dbname WITH ENCODING='UNICODE'; CREATE USER $dbuser WITH PASSWORD '$dbpass'; GRANT ALL PRIVILEGES ON DATABASE $dbname TO $dbuser; _EOF " # TODO: check error code here. # Do backup modified cfg files. cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf_`date +%s` PGPORT=${PGPORT:-5432} [ -n "$dbname" -a -n "$dbuser" ] && cat <<-_EOF >>/var/lib/pgsql/data/pg_hba.conf # For $dbuser, generated at `date`: host $dbname $dbuser 127.0.0.1/32 md5 local $dbname $dbuser md5 _EOF # Do reload. service postgresql-9.3 reload
Ссылки по теме:
1. PostgreSQL. Как создать базу данных и пользователя для нее.
Комментариев нет:
Отправить комментарий