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