Установка и настройка PostgreSQL на Ubuntu.

Данный урок посвящен установке и базовой настройке СУБД PostgreSQL в Linux(Ubuntu).

Установка.

Первым делом обновим информацию о пакетах в репозитории, чтобы получить последнюю версию.

После этого APT обновит информацию о пакетах из доступных ему репозиториев (файл /etc/apt/sources.list).

Теперь установим PostgreSQL.

Все. СУБД установлена и теперь мы займемся настройкой.

Настройка подключений.

Первая проблема — по умолчанию запрещено подключение по TCP/IP. Исправим это. Переходим в файл настроек /etc/postgresql/<version>/main/postgresql.conf.

В нем найдите закомментированную строку listen_addresses. Удалите комментарий и установите ее значение в localhost:

Другой способ — перечислить адреса конкретных хостов, с которых разрешено подключение к вашему серверу по TCP (или 0.0.0.0 если разрешаете удаленное подключение любых хостов). Теперь давайте попробуем подключиться к нашей СУБД с использованием клиента psql Данная утилита позволяет вам подключаться к различным базам данных, выполнять как обычные DDL, DML-запросы, так и большое количество всевозможных служебных команд.

Запустим psql, передав ей один параметр — имя пользователя(роли), под которым мы хотим приконнектиться:

На экране должно появиться примерно следующее (по умолчанию вы подключитесь к автоматически созданной БД с именем postgres):

Теперь давайте настроим пароль пользователя postgres:

После настройки пароля, откроем файл pg_hba.conf, чтобы для данного пользователя настроить аутентификацию с помощью MD5.

Роли.

В PostgreSQL существует понятие роли, как механизма управления доступом. Роли не делятся на группы или пользователей, но могут быть вложенными друг в друга.

Для просмотра существующих ролей наберите команду \du:

Для создания новой роли существует команда CREATE ROLE. В качестве примера я создам еще одну роль.

Снова выведу список ролей на экран:

У созданной таким образом роли не будет в системе никаких прав, отсутствует даже возможность подключения(Cannot login).

По умолчанию у вас есть возможность подключиться к системе только через суперпользователя с именем postgres. После создания других ролей, нужно наделить их определенными правами(директива GRANT). Но обо всем по порядку. Чтобы создать роль с возможностью подключения, наберите:

Вместо данной команды, можно было использовать команду, CREATE USER, которая наделяет новую роль правами входа по умолчанию:

Назначение привилегий.

Изменить привилегии существующей роли можно  с помощью команды ALTER ROLE:

По умолчанию все привилегии на БД или таблицу есть только у той роли, которая их создала. Чтобы передать некоторые права другой роли, используется команда GRANT.

Давайте создадим в нашей базе тестовую табличку:

В общем виде команда GRANT выглядит следующим образом:

Теперь дадим разрешение на обновление таблицы пользователю с именем demo.

На вставку данных в таблицу:

Выдать пользователю все права:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *