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