Astra linux special edition postgresql

Исходные данные

Сервер базы данных располагается на отдельном компьютере:

  • имя компьютера db.astra.mta;
  • компьютер введен в домен;
  • компьютер имеет постоянный IP-адрес, например, 192.168.32.4.

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

Регистрация службы базы данных на контроллере домена

На контроллере домена нужно зарегистрировать службу базы данных. По умолчанию имя службы postgres, соответственно имя принципала Kerberos для службы, работающей узле db.astra.mta, будет postgres/db.astra.mta@ASTRA.MTA.Зарегистрировать службу можно либо через WEB-интерфейс администратора FreeIPA, либо получить на контроллере домена билет Kerberos администратора домена:

Настройка сервера базы данных

Указанные ниже операции выполняются на сервере базы данных.

    Установить СУБД PostgreSQL:

В Astra Linux Special Edition x.7 конфигурационные файлы хранятся в каталоге /etc/postgresql/11.
В Astra Linux Special Edition 1.6 и в Astra Linux Common Edition конфигурационные файлы хранятся в каталоге /etc/postgresql/9.6.

  1. Указать параметры использования сетевых интерфейсов, изменив значение параметра listen_address. Нужное значение этого параметра зависит от конкретного применения сервера, однако можно выбрать универсальный вариант «использовать все сетевые интерфейсы»:
krb_server_keyfile = '/etc/postgresql/krb5.keytab'
host all all 192.168.32.0/4 gss
[ifp] allowed_uids = postgres

Если значения для параметра allowed_uids уже заданы, то добавить имя postgres через запятую.

Проверка

Если все действия выполнены успешно, то получив билет Kerberos доменного пользователя ipauser@astra.mta:

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

Дальнейшие настройки

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

Дополнительные параметры аутентификации в /etc/postgres/*/main/pg_hba.conf

Для метода аутентификации gss доступны следующие параметры конфигурации (подробности см. в документации PostgreSQL 9.6 и документации PostgreSQL 11 или в русском переводе документации):

    include_realm Когда этот параметр равен 0, из принципала аутентифицированного пользователя убирается область, и оставшееся имя проходит сопоставление имен Этот вариант не рекомендуется для применения и поддерживается только для обратной совместимости. Параметр небезопасен в окружениях с несколькими областями Kerberos, если только дополнительно не задается параметр krb_realm. Более предпочтительный вариант — оставить значение include_realm по умолчанию (1) и задать в файле /etc/postgres/*/main/pg_ident.conf явные правила сопоставления для преобразования имен принципалов в имена пользователей Postgres Pro.

    В файле /etc/postgresql/*/main/pg_hba.conf указать на необходимость использовать соответствие map1:

# Имя соответствия Имя пользователя системы Имя пользователя СУБД map1 ipauser@astra.mta dbuser

После выполнения указанных действий становится возможным подключение к СУБД с использованием пользователя БД из сессии доменного пользователя ipauser@astra.mta:

Правила сопоставления имен /etc/postgres/*/main/pg_ident.conf

Когда используется внешняя система аутентификации (GSSAPI) имя пользователя операционной системы, устанавливающего подключение, может не совпадать с именем целевого пользователя (роли) базы данных. В этом случае можно применить сопоставление имен пользователей, чтобы сменить имя пользователя операционной системы на имя пользователя БД. Чтобы задействовать сопоставление имен, укажите map=имя-сопоставления в поле параметров в pg_hba.conf. Этот параметр поддерживается для всех методов аутентификации, которые принимают внешние имена пользователей. Так как для разных подключений могут требоваться разные сопоставления, сопоставление определяется параметром имя-сопоставления в pg_hba.conf для каждого отдельного подключения. Подробности см. в документации PostgreSQL 9.6 и документации PostgreSQL 11 (см. тж. русский перевод)

Источник

PostgreSQL

Поддерживаются версии PostgreSQL начиная с 13 версии с поддержкой ICU.

Для однообразной сортировки в PostgreSQL на Windows и Linux, и для сортировки как в SQL Server, используется провайдер icu, который использует внешнюю библиотеку ICU. Локали ICU можно использовать, только если поддержка ICU была включена в конфигурации сборки PostgreSQL.

Для установки PostgreSQL требуется сборка PostgreSQL начиная с 13 версии с поддержкой ICU.

Ограничения PostgreSQL

Основные ограничения PostgreSQL, которые отличаются от SQL Server (https://postgrespro.ru/docs/postgresql/14/limits):

Максимальная длина идентификатора 63 байта (имена таблиц, ключей, индексов и других объектов базы данных (https://postgrespro.ru/docs/postgresql/14/sql-syntax-lexical#SQL-SYNTAX-IDENTIFIERS)).

Настройка PostgreSQL

Надо настроить PostgreSQL, по умолчанию PostgreSQL использует 256 МБ памяти.

Для генерации настроек по конфигурации сервера надо зайти на https://www.pgconfig.org/ и заполнить параметры.

Далее на вкладке «Export config» выберете формат ALTER SYSTEM commands для изменения параметров PostgreSQL, запустите полученный скрипт на сервере PostgreSQL и перезапустите сервис PostgreSQL после выполнения скрипта.

После запуска скриптов надо перезапустить сервис PostgreSQL:

sudo service postgresql restart

# OS Type: GNU/Linux based
# Architecrure: 64 Bits # Storage type: ssd
# Application profile: ERP or long transaction applications
# CPUs num: 16
# Total Memory: 40 GB
# Connections num: 1000
# Data Storage: ssd
# DB Version: 13

SQL -- Memory Configuration ALTER SYSTEM SET shared_buffers TO '10GB'; ALTER SYSTEM SET effective_cache_size TO '30GB'; ALTER SYSTEM SET work_mem TO '14MB'; ALTER SYSTEM SET maintenance_work_mem TO '2GB'; -- Checkpoint Related Configuration ALTER SYSTEM SET min_wal_size TO '2GB'; ALTER SYSTEM SET max_wal_size TO '3GB'; ALTER SYSTEM SET checkpoint_completion_target TO '0.9'; ALTER SYSTEM SET wal_buffers TO '-1'; -- Network Related Configuration ALTER SYSTEM SET listen_addresses TO '*'; ALTER SYSTEM SET max_connections TO '1000'; -- Storage Configuration ALTER SYSTEM SET random_page_cost TO '1.1'; ALTER SYSTEM SET effective_io_concurrency TO '200'; -- Worker Processes Configuration ALTER SYSTEM SET max_worker_processes TO '8'; ALTER SYSTEM SET max_parallel_workers_per_gather TO '2'; ALTER SYSTEM SET max_parallel_workers TO '2'; -- Logging configuration for pgbadger ALTER SYSTEM SET logging_collector TO 'on'; ALTER SYSTEM SET log_checkpoints TO 'on'; ALTER SYSTEM SET log_connections TO 'on'; ALTER SYSTEM SET log_disconnections TO 'on'; ALTER SYSTEM SET log_lock_waits TO 'on'; ALTER SYSTEM SET log_temp_files TO '0'; ALTER SYSTEM SET lc_messages TO 'C'; -- Adjust the minimum time to collect the data ALTER SYSTEM SET log_min_duration_statement TO '10s'; ALTER SYSTEM SET log_autovacuum_min_duration TO '0'; -- CSV Configuration ALTER SYSTEM SET log_destination TO 'csvlog';

После запуска скрипта с установкой настроек нужно перезапустить сервис PostgreSQL:

sudo service postgresql restart

Настройка приложения

Статьи по настройкам быстродействию PostgreSQL через строку подключения:

Источник

Установка и настройка СУБД PostgreSQL

Для работы Платформы НЕЙРОСС необходимо наличие в сети СУБД PostgreSQL версии не ниже 9.5. СУБД может быть развёрнута как на сервере Платформы, так и на выделенном сервере. В данном руководстве приведены инструкции по установке и настройке СУБД PostgreSQL под ОС Ubuntu 18.04/16.04 LTS 64 bit и ОС Astra Linux Commod Edition/Special Edition . Порядок настройки СУБД PostgreSQL для работы под управлением перечисленных операционных систем идентичен за исключением используемой версии СУБД.

ОС Ubuntu Server 18.04/16.04 LTS и Astra Linux Common Edition/Special Edition

Установка

Для установки СУБД PostgreSQL из сети Интернет выполните в терминале:

– в среде ОС Ubuntu Server 18.04 LTS

sudo apt update sudo apt install -y postgresql-10

– в среде ОС Ubuntu Server 16.04 LTS

sudo apt update sudo apt install -y postgresql-9.5

– в среде ОС Astra Linux Common Edition

sudo apt update sudo apt install -y postgresql-9.6

– в среде ОС Astra Linux Special Edition

sudo apt update sudo apt install -y postgresql-9.6

Настройка учётной записи

Процедура установки и первичной настройки Платформы НЕЙРОСС допускает как подключение к уже существующим базам данных, так и автоматическое создание таких баз данных (рекомендуемый подход). В последнем случае необходимо разрешить доступ к СУБД для учётной записи с правами на создание ролей и баз данных. В СУБД PostgreSQL всегда присутствует корневая учётная запись postgres , наделённая полными административными правами. В ОС Ubuntu Server 18.04 LTS и Astra Linux Common Edition/Special Edition для данной учётной записи по умолчанию не задан пароль, подключение к СУБД возможно только из терминала соответствующей операционной системы. Ниже приведена инструкция по заданию пароля для административной учётной записи postgres .

Если СУБД установлена на сервере Платформы, вы можете пропустить данный шаг. На этапе первого запуска Платформы оставьте поле ввода пароля пользователя СУБД пустым.

    Выполните команду psql от имени пользователя postgres с помощью sudo :

Настройка удалённого доступа

Шаги, описанные в данном разделе, необходимо выполнить ТОЛЬКО тогда, когда СУБД PostgreSQL и Платформа НЕЙРОСС развёрнуты на различных серверах. В случае, если СУБД и Платформа установлены на одном сервере — пропустите инструкцию в данном разделе.

В данном разделе описана процедура разрешения удалённого сетевого подключения к СУБД PostgreSQL версии 10.12. Местоположение конфигурационных файлов PostgreSQL других версий может отличаться.

    В терминале откройте конфигурационный файл postgresql.conf для редактирования:

$ sudo nano /etc/postgresql/10/main/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all
sudo nano /etc/postgresql/10/main/pg_hba.conf
# Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 md5 host all all 10.0.0.1/13 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 md5 #host replication postgres ::1/128 md5
sudo systemctl restart postgresql.service

Источник

Читайте также:  Pdf open source linux
Оцените статью
Adblock
detector