Исходный код вики Установка и настройка СУБД PostgreSQL
Версия 4.2 от superadmin на 2026/06/16 00:58
Скрыть последних авторов
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | В данном разделе приведены сведения по установке системы управления базами данных PostgreSQL, необходимой для работы нативной версии Платформы НЕЙРОСС ~[[[doc:neyross.Установка Платформы НЕЙРОСС.Типы установки Платформы НЕЙРОСС.WebHome]]]. |
| 2 | |||
| 3 | {{info}} | ||
| 4 | Для работы Платформы НЕЙРОСС необходимо наличие в сети СУБД PostgreSQL версии не ниже 10. СУБД может быть развёрнута как на сервере Платформы, так и на выделенном сервере. В данном руководстве приведены инструкции по установке и настройке СУБД PostgreSQL под ОС Ubuntu 20.04 LTS 64 bit и ОС Astra Linux Special Edition. Порядок настройки СУБД PostgreSQL для работы под управлением перечисленных операционных систем идентичен за исключением используемой версии СУБД. | ||
| 5 | {{/info}} | ||
| 6 | |||
| 7 | [[image:attach:ui.Параметры узла.WebHome@content.png||thumbnail="true" height="10"]] Содержание: | ||
| 8 | |||
| 9 | {{toc/}} | ||
| 10 | |||
| |
4.1 | 11 | == {{id name="УстановкаинастройкаСУБДPostgreSQL-Подготовкакустановке"/}}Подготовка к установке(%%) == |
| |
1.1 | 12 | |
| 13 | Перед началом установки ответьте на вопросы ниже. | ||
| 14 | |||
| 15 | |((( | ||
| |
4.1 | 16 | Вы корректно установили ОС? |
| |
1.1 | 17 | )))|((( |
| 18 | (% style="text-align: left;" %) | ||
| 19 | Убедитесь, что: | ||
| 20 | |||
| 21 | (% style="text-align: left;" %) | ||
| |
1.3 | 22 | 1. Операционная система из списка рекомендуемых ~[[[Системные требования ~| Платформа НЕЙРОСС>>doc:neyross.Системные требования | Платформа НЕЙРОСС.WebHome||style="" shape="rect"]]]. |
| 23 | 1. Операционная система корректно установлена, в процессе установки задана локаль [[United States - en_US.UFT-8>>url:https://support.itrium.ru/x/2NFgOQ||rel="nofollow" style="" shape="rect"]] ~[[[doc:neyross.Обслуживание Платформы НЕЙРОСС.Часто задаваемые вопросы | Платформа НЕЙРОСС.Почему возникает ошибка создания базы данных в процессе установки Платформы НЕЙРОСС?.WebHome]]](% style="text-align: left;" %)**.** | ||
| |
1.1 | 24 | 1. У вас есть полный административный доступ к целевой операционной системе. |
| 25 | 1. В операционной системе включен и настроен сетевой интерфейс, для интерфейса задан минимум один фиксированный сетевой адрес. | ||
| 26 | 1. Системное время задано верно, сервер настроен на синхронизацию с выбранным NTP-сервером или сам является сервером NTP. | ||
| |
4.1 | 27 | 1. Установлены необходимые зависимости: OpenJDK 1.8 (update 222 или выше), ГосJava (Astra Linux), ntpdate, lshw, dmidecode, traceroute(%%). |
| |
1.1 | 28 | 1. Помимо системного раздела в ОС доступен ещё минимум один раздел диска или отдельный носитель. |
| 29 | ))) | ||
| 30 | |((( | ||
| 31 | Вы правильно выбрали сервер СУБД? | ||
| 32 | )))|((( | ||
| 33 | (% style="text-align: left;" %) | ||
| 34 | 1. СУБД PostgreSQL будет установлена на сервере Платформы, или с сервера Платформы есть доступ к серверу СУБД PostgreSQL. | ||
| 35 | 1. С сервера Платформы НЕЙРОСС можно будет подключиться и авторизоваться в СУБД по имени пользователя / паролю. | ||
| 36 | 1. Версия СУБД PostgreSQL не ниже 10. | ||
| 37 | ))) | ||
| 38 | |||
| |
4.1 | 39 | == {{id name="УстановкаинастройкаСУБДPostgreSQL-УстановкаСУБД"/}}Установка СУБД(%%) == |
| |
1.1 | 40 | |
| 41 | Для установки СУБД PostgreSQL из сети Интернет выполните в терминале: | ||
| 42 | |||
| 43 | {{code language="bash"}} | ||
| 44 | sudo apt update | ||
| 45 | sudo apt install -y postgresql | ||
| 46 | {{/code}} | ||
| 47 | |||
| 48 | Проверьте номер установленной версии: | ||
| 49 | |||
| |
2.1 | 50 | {{code language="java"}} |
| |
1.1 | 51 | pg_config --version |
| 52 | {{/code}} | ||
| 53 | |||
| 54 | Если номер версии 14 или 15 выполните инструкцию из раздела ~[[[doc:neyross.Обслуживание Платформы НЕЙРОСС.Часто задаваемые вопросы | Платформа НЕЙРОСС.Бесконечная загрузка после первого запуска при работе с PostgreSQL 14,15\. Как исправить?.WebHome]]]. | ||
| 55 | |||
| 56 | == {{id name="УстановкаинастройкаСУБДPostgreSQL-Стандартнаяконфигурация"/}}Стандартная конфигурация == | ||
| 57 | |||
| 58 | Процедура первичной настройки Платформы НЕЙРОСС допускает автоматическое создание баз данных (рекомендуемый подход). В последнем случае необходимо разрешить доступ к СУБД для учётной записи с правами на создание ролей и баз данных. В СУБД PostgreSQL всегда присутствует корневая учётная запись {{code language="none"}}postgres{{/code}}, наделённая полными административными правами. В ОС Ubuntu Server 20.04 LTS, 22.04 LTS и Astra Linux Special Edition для данной учётной записи по умолчанию не задан пароль, подключение к СУБД возможно только из терминала соответствующей операционной системы. Ниже приведена инструкция по заданию пароля для административной учётной записи {{code language="none"}}postgres{{/code}}. | ||
| 59 | |||
| 60 | == {{id name="УстановкаинастройкаСУБДPostgreSQL-Нестандартнаяконфигурация"/}}Нестандартная конфигурация == | ||
| 61 | |||
| 62 | === {{id name="УстановкаинастройкаСУБДPostgreSQL-Настройкаучётнойзаписиpostgres"/}}Настройка учётной записи postgres === | ||
| 63 | |||
| 64 | Ниже приведена инструкция по заданию пароля для административной учётной записи {{code language="none"}}postgres{{/code}}. | ||
| 65 | |||
| 66 | {{info}} | ||
| |
4.1 | 67 | Если СУБД установлена на сервере Платформы, вы можете пропустить данный шаг. На этапе [[первого запуска>>doc:neyross.Установка Платформы НЕЙРОСС.Установка нативной версии.Первый запуск нативной версии.WebHome]] Платформы используйте стандартный режим. |
| |
1.1 | 68 | {{/info}} |
| 69 | |||
| 70 | \\ | ||
| 71 | |||
| 72 | 1. ((( | ||
| 73 | Выполните команду {{code language="none"}}psql{{/code}} от имени пользователя {{code language="none"}}postgres{{/code}} с помощью {{code language="none"}}sudo{{/code}}: | ||
| 74 | |||
| 75 | {{code language="bash"}} | ||
| 76 | sudo -u postgres psql | ||
| 77 | {{/code}} | ||
| 78 | ))) | ||
| 79 | 1. ((( | ||
| 80 | Средствами командной строки {{code language="none"}}psql{{/code}} выполните: | ||
| 81 | |||
| 82 | {{code language="bash"}} | ||
| 83 | > \password | ||
| 84 | {{/code}} | ||
| 85 | ))) | ||
| 86 | 1. Введите пароль, нажмите Enter. | ||
| 87 | 1. В следующей строке повторите ввод пароля. Пароль задан. | ||
| 88 | 1. ((( | ||
| 89 | Выйдите из командной строки {{code language="none"}}psql{{/code}}: | ||
| 90 | |||
| 91 | {{code language="bash"}} | ||
| 92 | > \q | ||
| 93 | {{/code}} | ||
| 94 | |||
| 95 | [[image:attach:ubuntu_r30_date_postgres.png||width="315"]] | ||
| 96 | ))) | ||
| 97 | |||
| 98 | === {{id name="УстановкаинастройкаСУБДPostgreSQL-Настройкаудалённогодоступа"/}}Настройка удалённого доступа === | ||
| 99 | |||
| 100 | {{error title="ВАЖНО"}} | ||
| 101 | Шаги, описанные в данном разделе, необходимо выполнить ТОЛЬКО тогда, когда СУБД PostgreSQL и Платформа НЕЙРОСС развёрнуты на различных серверах. В случае, если СУБД и Платформа установлены на одном сервере — пропустите инструкцию в данном разделе. | ||
| 102 | {{/error}} | ||
| 103 | |||
| 104 | В данном разделе описана процедура разрешения удалённого сетевого подключения к СУБД PostgreSQL версии 10.12. Местоположение конфигурационных файлов PostgreSQL других версий может отличаться. | ||
| 105 | |||
| 106 | 1. ((( | ||
| 107 | В терминале откройте конфигурационный файл postgresql.conf для редактирования: | ||
| 108 | |||
| 109 | {{code language="bash"}} | ||
| 110 | $ sudo nano /etc/postgresql/10/main/postgresql.conf | ||
| 111 | {{/code}} | ||
| 112 | ))) | ||
| 113 | 1. ((( | ||
| 114 | Найдите в конфигурационном файле параметр listen_addresses и укажите IP-адреса, с которых разрешены входящие подключения. Список должен включать все IP-адреса Платформы НЕЙРОСС. Также возможно разрешить входящие соединения с любого сетевого адреса, указав в значении параметра {{code language="none"}}'*'{{/code}}. | ||
| 115 | |||
| 116 | {{code title="postgresql.conf" language="bash"}} | ||
| 117 | #------------------------------------------------------------------------------ | ||
| 118 | # CONNECTIONS AND AUTHENTICATION | ||
| 119 | #------------------------------------------------------------------------------ | ||
| 120 | # - Connection Settings - | ||
| 121 | |||
| 122 | listen_addresses = '*' # what IP address(es) to listen on; | ||
| 123 | # comma-separated list of addresses; | ||
| 124 | # defaults to 'localhost'; use '*' for all | ||
| 125 | {{/code}} | ||
| 126 | ))) | ||
| 127 | 1. Сохраните изменения: нажмите **Ctrl+X**, введите **Y** (для подтверждения изменений) и нажмите **Enter**. | ||
| 128 | 1. ((( | ||
| 129 | В терминале откройте конфигурационный файл pg_hba.conf для редактирования: | ||
| 130 | |||
| 131 | {{code title="pg_hba.conf" language="bash"}} | ||
| 132 | sudo nano /etc/postgresql/10/main/pg_hba.conf | ||
| 133 | {{/code}} | ||
| 134 | ))) | ||
| 135 | 1. ((( | ||
| 136 | Отредактируйте существующие разрешения или добавьте новое. Для того чтобы разрешить авторизацию с любого IP-адреса под любым пользователем из подсети 10.0.0.1/13, добавьте строку вида | ||
| 137 | {{code language="none"}}host all all 10.0.0.1/13 md5{{/code}}, | ||
| 138 | {{code language="none"}}где 10.0.0.1/13{{/code}} задаёт префикс IP-адреса, с которых разрешена авторизация ({{code language="none"}}13{{/code}} — это величина маски подсети, соответствует маске 255.248.0.0). Пример изменённого файла приведён ниже: | ||
| 139 | |||
| 140 | {{code title="pg_hba.conf" language="bash"}} | ||
| 141 | # Database administrative login by Unix domain socket | ||
| 142 | local all postgres peer | ||
| 143 | # TYPE DATABASE USER ADDRESS METHOD | ||
| 144 | # "local" is for Unix domain socket connections only | ||
| 145 | local all all peer | ||
| 146 | # IPv4 local connections: | ||
| 147 | host all all 127.0.0.1/32 md5 | ||
| 148 | host all all 10.0.0.1/13 md5 | ||
| 149 | # IPv6 local connections: | ||
| 150 | host all all ::1/128 md5 | ||
| 151 | # Allow replication connections from localhost, by a user with the | ||
| 152 | # replication privilege. | ||
| 153 | #local replication postgres peer | ||
| 154 | #host replication postgres 127.0.0.1/32 md5 | ||
| 155 | #host replication postgres ::1/128 md5 | ||
| 156 | {{/code}} | ||
| 157 | ))) | ||
| 158 | 1. Сохраните изменения: нажмите **Ctrl+X**, введите **Y** (для подтверждения изменений) и нажмите **Enter**. | ||
| 159 | 1. ((( | ||
| 160 | Перезапустите сервис PostgreSQL из терминала: | ||
| 161 | |||
| 162 | {{code language="bash"}} | ||
| 163 | sudo systemctl restart postgresql.service | ||
| 164 | {{/code}} | ||
| 165 | ))) |