Установка и первоначальная настройка PostgreSQL

Блог / Базы данных

1. Установка

1.1. Установка из официального репозитория

Если для Вас важна последняя доступная версия PostgreSQL (если нет, я советую Вам хорошенько подумать), то Вам необходимо установить ее из официального репозитория PostgreSQL. Сделать это можно, следуя официальной инструкции. Затем, следует обновить пакеты:

$ sudo apt-get update

И  установить PostgreSQL командой:

$ sudo apt-get install postgresql-x.x
  • x.x - необходимая версия

Список всех доступных версий можно посмотреть командой:

$ sudo apt-cache search postgresql

1.2. Установка из репозитория ОС

Установка PostgreSQL из репозитория ОС производится путем добавления двух основных пакетов:

$ sudo apt-get install postgresql postgresql-contrib

2. Консоль PostgreSQL

Все доступные операции над базами данных и пользователями производится из консоли psql.

2.1. Вход в консоль

Для начала необходимо войти в систему от пользователя postgres, это возможно только с правами root:

# su - postgres

Пользователь postgres - это своеобразный суперпользователь для базы данных PostgreSQL. Затем, из-под пользователя postgres можно войти в консоль:

$ psql

Или проще, сразу входим в консоль psql под пользователем postgres:

$ sudo -u postgres psql

2.2. Выход из консоли

Когда выполнены все операции над пользователями и базами данных PostgreSQL в консоли psql, не сразу можно сообразить, как из нее выйти. Тут все очень просто:

postgres=# \q

И, если это необходимо, уходим от пользователя postgres:

$ exit

3. Пользователи PostgreSQL

Рекомендуется для каждой базы данных создать независимую прослойку, создав нового пользователя, и только ему дать права к управлению ей. Манипуляции с пользователями производятся с консоли psql.

3.1. Создание пользователя

Тут все достаточно просто:

# CREATE USER username WITH PASSWORD '12345';
  • username - логин нового пользователя
  • ‘12345’ - Пароль пользователя. Вводится в кавычках

3.2. Удаление пользователя

Тут еще проще:

# DROP USER username;
  • username - логин пользователя, которого необходимо удалить.

4. Базы данных

Все манипуляции с базой данных также производятся в консоли psql.

4.1. Создание базы данных

Тут все также, как при создании пользователя:

# CREATE DATABASE dbname;
  • dbname - имя создаваемой базы данных

4.2. Удаление базы данных

# DROP DATABASE dbname;
  • dbname - имя удаляемой базы данных

Прошу заметить, что база данных откажется удаляться в определенных случаях:

  • Если имеются пользователи с правами на эту базу. Перед удалением базы данных их права необходимо отозвать. Об этом далее.
  • Если имеется хотя бы одна незакрытая сессия соединения с базой данных. В этом случае сессии необходимо будет закрыть. В крайнем случае, можно просто остановить сервера, взаимодействующие с этой базой данных на момент ее удаления (хотя, смысла их запускать после удаления базы данных мало)

4.3. Назначение прав пользователям

Наличие базы данных и пользователей в системе PostgreSQL само по себе не дает результатов. Для корректной работы определенного пользователя с определенной базой данных, ему необходимо назначить права на работу с ней. Для этого выполняем комманду:

# GRANT ALL PRIVILEGES ON DATABASE dbname TO username;
  • dbname - имя базы данных, права над работой которой необходимо дать доступ
  • username - имя пользователя, которому будут предоставлены права над указанной базой данных

4.4. Удаление прав пользователей

Иногда, возникает необходимость сменить пользователя, управляющего базой данных, или просто отозвать права для ее последующего удаления. Рекомендую не пренебрегать этой командой и действовать по принципу “Один пользователь управляет одной базой данных”.

# REVOKE ALL PRIVILEGES ON DATABASE dbname FROM username;
  • dbname - имя базы данных, права над работой которой необходимо отозвать
  • username - имя польователя, права которого необходимо отозвать
Денис Каримов
Комментарии
Написать комментарий

Написать комментарий

2017г. Karimov.info