Установка и настройка PostgreSQL 12 на Debian 10

Всем привет! Сегодня мы разберем процесс установки PostgreSQL 12 на операционную систему Debian 10, а также выполним первоначальную настройку PostgreSQL. В результате у нас получится полноценный сервер баз данных, реализованный на базе Debian + PostgreSQL, и данный сервер можно использовать в сети предприятия.

Установка и настройка PostgreSQL 12 на Debian 10

Заметка! Установка и настройка PostgreSQL 12 на Windows 10.

Установка PostgreSQL 12 на Debian 10

Итак, давайте перейдем к установке и рассмотрим все шаги, которые необходимо выполнить, чтобы установить PostgreSQL 12 на Debian 10.

Установку я буду производить удаленно, используя программу PuTTY.

Шаг 1 – Подключение репозитория и обновление списка пакетов в системе

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

Для этого пишем команду su и вводим пароль.

Скриншот 1

Далее, давайте проверим, нет ли в системе необходимых нам пакетов, так как вдруг нам и не нужно подключать дополнительный репозиторий.

Заметка! Что такое репозитории в Linux.

Для этого вводим следующую команду.

   
   apt-cache search postgresql-12

Скриншот 2

Как видим, в Debian 10 нужной нам версии PostgreSQL нет, поэтому нам нужно подключить дополнительный репозиторий от разработчиков. Если у Вас более новая версия Debian и в стандартных репозиториях есть 12 версия PostgreSQL, то дополнительный репозиторий Вам подключать не нужно, т.е. данный шаг Вы можете пропустить.

А всем остальным, у которых также как у меня нет нужной версии, для подключения репозитория необходимо ввести следующую команду, которая создает файл в источниках с адресом нужного репозитория.

   
   sh -c 'echo " deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main " >> /etc/apt/sources.list.d/pgdg.list'

Примечание! Здесь обязательно стоить отметить, что этот репозиторий предназначен для Debian 10, для других версий адрес репозитория будет другим, например, если Вам нужно установить PostgreSQL на Debian 9, то в адресе репозитория вместо buster напишите stretch, т.е. замените кодовое имя версии.

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

   
   wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Осталось обновить список пакетов в системе, это делаем стандартной командой.

   
   apt-get update

Скриншот 3

И для проверки того, что теперь нам доступны пакеты PostgreSQL 12, давайте снова запустим команду поиска пакетов.

   
   apt-cache search postgresql-12

Скриншот 4

Теперь нужные пакеты нам доступны и мы можем переходить к установке PostgreSQL 12.

Заметка! Установка Debian 10 рядом с Windows 10.

Шаг 2 – Установка необходимых пакетов для PostgreSQL

Для установки PostgreSQL 12 и базовых стандартных утилит необходимо установить пакет postgresql-12, это делается следующей командой.

   
   apt-get -y install postgresql-12

Скриншот 5

Шаг 3 – Проверка установки

Чтобы проверить, установился и запущен ли Postgres, давайте выполним следующую команду, которая покажет статус сервиса PostgreSQL.

   
   systemctl status postgresql

Скриншот 6

Как видим, PostgreSQL 12 установился и работает.

Заметка! Установка MySQL 8 на Windows 10.

Настройка PostgreSQL 12 в Debian 10

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

Создание пользователя и базы данных в PostgreSQL

После установки к серверу PostgreSQL мы можем подключиться только с помощью системного пользователя postgres, причем без пароля.

Давайте переключимся на пользователя postgres (данная учетная запись была создана автоматически во время установки PostgreSQL).

   
   su - postgres

Затем запускаем утилиту psql – это консоль для PostgreSQL.

   
   psql

Первым делом нам нужно задать пароль для пользователя postgres.

   
   \password postgres

Затем создаем нового пользователя на сервере PostgreSQL, так как работать от имени postgres крайне не рекомендуется.

   
   create user info_comp with password '123456';

где info_comp – это имя пользователя, ‘123456’ – это его пароль, Вы, соответственно, придумываете и подставляете свои данные.

Далее давайте создадим базу данных.

   
   create database test_db;

где test_db – это имя новой базы данных.

Теперь давайте дадим права на управление базой данных нашему новому пользователю.

   
   grant all privileges on database test_db to info_comp;

Все готово, выходим из консоли.

   
   \q

Скриншот 7

Заметка! Как создать составной тип данных в PostgreSQL.

Для проверки давайте подключимся к PostgreSQL от имени нового пользователя, на предложение о вводе пароля вводим пароль от новой учетной записи.

   
   psql -h localhost test_db info_comp

Все работает, я подключился. Для выхода снова набираем \q.

   
   \q

Для переключения обратно на root вводим exit.

   
   exit

Скриншот 8

Заметка! Установка Microsoft SQL Server 2019 Express на Windows 10.

Разрешаем подключение к PostgreSQL по сети

По умолчанию PostgreSQL прослушивает только адрес localhost, поэтому, для того чтобы мы могли подключаться по сети, нам нужно указать, какие сетевые интерфейсы будет просушивать PostgreSQL. Я для примера укажу, что прослушивать нужно все доступные интерфейсы. Если у Вас несколько сетевых интерфейсов, и Вы хотите, чтобы PostgreSQL использовал только один конкретный, то Вы его можете указать именно здесь.

Чтобы это сделать, открываем файл postgresql.conf, например, редактором nano.

   
   nano /etc/postgresql/12/main/postgresql.conf

Находим следующую строку.

   
   #listen_addresses = 'localhost'

и вносим следующие изменения (вместо звездочки Вы в случае необходимости указываете IP адрес нужного интерфейса).

   
   listen_addresses = '*'

Скриншот 9

Сохраняем изменения сочетанием клавиш CTRL+O и подтверждаем нажатием Enter, затем просто закрываем редактор nano сочетанием клавиш CTRL+X.

Теперь давайте разрешим подключение из сети, я для примера разрешу подключаться из сети 192.168.1.0/24 с методом аутентификации md5.

Для этого открываем файл pg_hba.conf

   
   nano /etc/postgresql/12/main/pg_hba.conf

Ищем следующие строки.

Скриншот 10

Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.

И указываем нужную нам сеть (если IPv6 Вы не будете использовать, то можете закомментировать соответствующие строки знаком #).

Скриншот 11

Далее точно так же сохраняем изменения сочетанием клавиш CTRL+O, подтверждаем нажатием Enter и закрываем редактор nano сочетанием клавиш CTRL+X.

Перезапускаем PostgreSQL, чтобы изменения вступили в силу.

   
   systemctl restart postgresql

Заметка! ТОП 5 популярных систем управления базами данных.

Удаленное подключение к PostgreSQL 12 с помощью pgAdmin 4

Сервер PostgreSQL настроен, поэтому, чтобы проверить его работоспособность, давайте подключимся к серверу удаленно с помощью pgAdmin 4.

Для этого запускаем на клиенте pgAdmin 4, в обозревателе кликаем на контейнер «Servers» и выбираем «Создать -> Сервер».

Скриншот 12

Далее откроется окно создания сервера, в котором нам нужно на вкладке «Общие» ввести название сервера.

Скриншот 13

А на вкладке «Соединение» указать IP адрес сервера и данные пользователя, под которым мы подключимся к серверу.

Нажимаем «Сохранить».

Скриншот 14

Заметка! ТОП 5 популярных дистрибутивов Linux для сервера.

В результате мы подключимся к серверу, а в обозревателе отобразятся все объекты на данном сервере.

Скриншот 15

На сегодня это все, надеюсь, материал был Вам полезен, пока!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Комментарии: 5
  1. Mitai

    А на вкладке «Соединение» указать IP адрес сервера и данные пользователя, под которым мы подключимся к серверу.
    Дак эт самое, а где их узнать то:?:

    1. Админ (автор)

      IP адрес – это IP адрес компьютера, на котором установлен PostgreSQL
      Данные пользователя – это логин и пароль пользователя в PostgreSQL. Этого пользователя мы создавали в процессе настройки PostgreSQL (см. раздел текущей статьи «Настройка PostgreSQL 12 в Debian 10»).
      Если PostgreSQL устанавливали не Вы, то Вам необходимо узнать данные для подключения у администратора.

  2. Сергей

    Добрый день! Проблема оказалась в том, что в pgAdmin не подключается сервер. Пишет, что не найден. Хотя адрес вбиваю правильный. В чем может быть проблема? Возможно это из-за того, что у меня Debian лежит на виртуалке (VirtualBox) на том же компе, где и стоит pgAdmin?

  3. Сергей

    Добавление к предыдущему. Вот что пишет:

    Unable to connect to server:

    could not connect to server: Connection refused (0x0000274D/10061)
    Is the server running on host «192.168.1.195» and accepting
    TCP/IP connections on port 5432?

    (Не удалось подключиться к серверу:

    не удалось подключиться к серверу: отказано в подключении (0x0000274D/10061)
    Работает ли сервер на хосте «192.168.1.195» и принимает ли он
    Соединения TCP/IP на порту 5432?)

  4. Антон

    Самый понятный туториал :idea:

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.