Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 7)


Аннотация

В данной статье представлена инструкция по установке и первичной настройке СУБД PostgreSQL на Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 7). (далее - ОС). В состав ОС включена СУБД PostgreSQL версии 11:

  • Версии 11.10-astra.se5 - на установочном диске и в базовом репозитории;
  • Версии 11.12-astra.ce5 - в расширенном репозитории.

Установка пакетов

  1. Опционально: подключить расширенный репозиторий пакетов (XR): Репозитории Astra Linux Special Edition 1.7: особенности подключения и использования;

  2. Обновить список пакетов:

    Command
    sudo apt update


  3. Опционально: установить актуальное оперативное обновлениеактуальные обновления:

    Command
    sudo apt dist-upgrade


  4. Проверить доступные версии:

    Command
    apt cache postgresql11


  5. Установить пакет postgresql-11 нужной старшей доступной версии:

    Command
    sudo apt install postgresql-11

    или указать версию для установки:

    Command
    sudo apt install postgresql-11=11.10-astra.se5


  6. Убедиться, что служба postgresql запустилась:

    Command
    Titlesystemctl status postgresql

    ● postgresql.service - PostgreSQL RDBMS
       Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
       Active: active (exited) since Fri 2021-09-10 12:48:20 MSK; 1min 26s ago
    Main PID: 4338 (code=exited, status=0/SUCCESS)
       Tasks: 0 (limit: 4637)
       Memory: 0B
       CGroup: /system.slice/postgresql.service


Первичная настройка СУБД

  1. Выполнить вход в сессию служебного пользователя postgres:

    Command
    sudo su - postgres

    Работая в сессии служебного пользователя postgres:

    1. Установить пароль администратора СУБД:

      Command
      psql -c "alter user postgres with password '<указать_пароль>'"


      • Вместо текста <пароль> указать устанавливаемый пароль;

      • Пароль заключается в одинарные кавычки;

      • Вся команда заключается в двойные кавычки.

    2. Завершить работу в сессии служебного пользователя postgres:

      Command
      exit


  2. Наcтроить удаленный доступ к СУБД, для чего в конфигурационном файле /etc/postgresql/11/main/postgresql.conf проверить и установить параметр listen_addresses:
    1. Значение по умолчанию - служба postgresql подключена ко всем сетевым интерфейсам:

      Блок кода
      listen_addresses = '*'


    2. Допустимые значения:
      1. Служба postgresql подключена ко всем сетевым интерфейсам IPv4:

        Блок кода
        listen_addresses = '0.0.0.0'


      2. Служба postgresql подключена ко всем сетевым интерфейсам IPv6:

        Блок кода
        listen_addresses = '::'


      3. Разделенный запятыми список IP-адресов сетевых интерфейсов, к которым будет подключена служба:

        Блок кода
        listen_addresses = '192.168.1.2,10.0.02'


      4. Допускается использовать пустой список, тогда подключение будет возможно только через сокеты UNIX (подробнее см. документацию СУБД).
  3. Если в конфигурацию были внесены изменения, то для того чтобы сделанные изменения вступили в силу перезапустить службу postgresql:

    Command
    sudo systemctl restart postgresql


  4. Проверить, к каким сетевым портам и интерфейсам подключена служба postgresql, можно командой:


    Command
    Titless -tunelp | grep uid:`id -u postgres`

    tcp     LISTEN   0        1024             0.0.0.0:5432           0.0.0.0:*      uid:107 ino:32947 sk:5 <->
    tcp     LISTEN   0        1024                [::]:5432              [::]:*      uid:107 ino:32948 sk:9 v6only:1 <->                        

    Приведен вывод команды для службы, настроенной по умолчанию (параметр listen_addresses = '*', служба работает с портом 5432 на всех доступных сетевых интерфейсах IPv4 и IPv6);

  5. Настроить активные сетевые экраны, разрешив доступ к сетевому порту postgresql (по умолчанию - порт 5432):
    1. Для сетевого экрана ufw:

      Command
      sudo ufw allow 5432/tcp


    2. Для сетевого экрана firewalld:

      Command
      sudo firewall-cmd --add-service=postgresql --zone=internal --permanent


Первичное тестирование работоспособности СУБД

  1. Выполнить вход в сессию служебного пользователя postgres:

    Command
    sudo su - postgres

    Работая в сессии служебного пользователя postgres:

    1. Добавить тестового пользователя СУБД test_user1:

      Command
      createuser test_user1


    2. Добавить тестовую базу данных test_db, указав в качестве её владельца тестового пользователя:

      Command
      createdb test_db -O test_user1


    3. Установить пароль тестового пользователя:

      Command
      psql -c "alter user test_user1 with password '<указать_пароль>'"


    4. Подключиться к созданной тестовой базе данных и войти в сессию СУБД:

      Command
      Titlepsql test_db
      psql (11.12 (Debian 11.12-astra.ce5))
      Введите "help", чтобы получить справку.
      test_db=# 


      Дальнейшие команды выполняются в сессии СУБД:

      1. Создать таблицу и добавить в нее данные:

        Command
        Title create table test_table ( id int,first_name text, last_name text );
        CREATE TABLE


      2. Добавить в таблицу данные:

        Command
        Title insert into test_table (id,first_name,last_name) values (2,'Иван','Иванов');
        INSERT 0 1


      3. Вывести табличные данные:

        Command
        Titleselect * from test_table;
         id | first_name | last_name
        ----+------------+-----------
          1 | Иван       | Иванов
        (1 строка)


      4. Выйти из сессии СУБД:

        Command
        exit


    5. Удалить тестовую базу данных:

      Command
      dropdb test_db


    6. Завершить работу в сессии служебного пользователя postgres:

      Command
      exit