23 июля 2012 г.

Установка postgresql

Предположим, вы только что поставили Ubuntu и вам нужно развернуть какую-нибудь БД локально для разработки ПО. Предположим также, что для этих целей вы решили использовать СУБД PostgreSQL. Установка предельно проста - в консоли нужно выполнить следующую команду:
sudo apt-get install postgresql
Установка выполняется под суперпользователем, поэтому вам потребуется ввести ваш пароль.  После выполнения этой команды движок БД уже будет установлен на ваш компьютер.

Прежде, чем приступить к работе с базой, нам нужно её немного настроить. Для начала требуется создать роль пользователя:
sudo -u postgres createuser
От вас потребуется ввести название роли. Забегая вперёд, настоятельно рекомендую вам ввести в точности такое же имя, какое отображается у вас в консоли до знака @. То есть чтобы имя вашего аккаунта совпало с именем роли. Предположим, в консоли у нас отображается human@human-desktop. Тогда нужно ввести human.

Затем система задаст вам несколько вопросов, а именно: желаете ли вы установить эту роль в качестве суперпользователя, позволить ли ей создавать новые базы данных, а также другие роли. Отвечайте как считаете нужным, но с точки зрения безопасности лучше ответить на всё отрицательно.

Далее нам необходимо создать базу данных. Назовём её, например, mydb. Но лучше назвать так же, как вы назвали роль (т.е. human). Выполним команду:
sudo -u postgres createdb human
Теперь осталось через консоль задать пароль для созданного нами пользователя и предоставить ему полные права на новую базу данных:
sudo -u postgres psql
Выполнив эту команду, вы войдёте в консоль postgres. Введите следующие команды, заменив имя пользователя и базы данных своими собственными значениями:

alter user your_user_name with encrypted password 'your_password';
grant all privileges on database your_database to your_user_name;

Выход из консоли postgres осуществляется командой \?

Всё, теперь мы можем приступать к установке какого-нибудь клиента с графическим интерфейсом для более удобного взаимодействия с БД.

Возможно, вы спросите, зачем нужно было создавать роль и базу данных с одинаковыми именами, совпадающими с именем пользователя в системе? Это делается исключительно для удобства, ведь если эти параметры совпадают, то зайти в консоль postgres можно довольно просто, набрав в обычной консоли:
psql
Теперь вы находитесь внутри и можете выполнять любые доступные вам sql-запросы.

Выполнение запроса при помощи psql

Если же имя роли и/или базы данных отличаются от имени пользователя компьютера, то придётся эти параметры указывать каждый раз при входе в консоль postgres. Пример:
psql --username postgres --dbname mydb --password
Обратите внимание, что значение пароля в этой строке не указывается - его потребуется ввести в следующей строке по запросу системы.

Комментариев нет:

Отправить комментарий