postgresql 9.6 на freebsd 11

Опубликовано beregov.a.e - ср, 09/27/2017 - 11:55

Установку сервера баз данных будем проводить на чистую систему. То есть, там кроме самой ОС и портов ни чего не установлено.

Вариантов установки может быть несколько:

1 Из репозитория.

2 Из портов.

3 И конечно из исходников всё собрать. ( Это для очень особых случаев ) 

Подключаемся к серверу/компьютеру, на котором будем производить установку любым удобным или доступным способом. Повышаем права до пользователя root.

Рассмотрим первый вариант.

pkg search postgres

The package management tool is not yet installed on your system.                                                                                                                                                                                                               
Do you want to fetch and install it now? [y/N]:

Подтверждаем, что устанавливаем пакетный менеджер pkg

После чего, увидите список пакетов, которые сеть в репозитории, в названии которых есть postgres. Для примера установим postgresql96-server-9.6.8_1.

pkg install postgresql96-server-9.6.8_1

sysrc postgresql_class="russian" # определяем локаль для сервера баз данных

sysrc postgresql_enable="YES" # добавляем в автозагрузку

Установка из ports

cd /usr/ports/databases/postgresql96-server/ && portmaster -p # или make install clean

отвечаем на вопросы сценария сборки и устанавливаем сервер баз данных.

После установки необходимо выполнить несколько действий:

1) Инициализировать кластер.

2) Настроить сервер баз данных.

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

Инициализация кластера.

service postgresql initdb

После этого, можно запустить сервер. Но этого делать не будем, так как, он не настроен. Для базовой настройки производительности рекомендую воспользоваться http://pgtune.leopard.in.ua/. Файлы конфигурации сервера расположены в /var/db/postgres/data96 . Настройки рекомендую выполнять от имени пользователя postgres, чтобы случайно не изменить права на файлы конфигурации.  Основной конфигурационный файл postgresql.conf , убедимся, что можно подключится на 127.0.0.1 listen_addresses = 'localhost' или укажем определённые интерфейсы через запятую '127.0.0.1, 192.168.1.1'. Далее добавим строчку в файл pg_hba.conf

host    all             all             127.0.0.1/32            md5

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

host    all             all             0.0.0.0/0.0.0.0            md5

и только после

service postgresql start

На этом установка и базовая настройка закончена.

PS

Можно при инициализации кластера задать дополнительный настройки. В частности --data-checksums

Применять контрольные суммы на страницах данных для выявления сбоев при вводе/выводе, которые иначе останутся незамеченными. Расчёт контрольных сумм может значительно повлияет на производительность. Этот режим можно включить только при инициализации и нельзя изменить позже. Когда контрольные суммы включены, они рассчитываются для всех объектов и во всех базах данных.

Для этого необходимо отредактировать /usr/local/etc/rc.d/postgresql

Находим строку postgresql_initdb_flags=${postgresql_initdb_flags:-"--encoding=utf-8 --lc-collate=C"} которая без коментария и изменяем на

postgresql_initdb_flags=${postgresql_initdb_flags:-"--encoding=utf-8 --lc-collate=C --data-checksums"}

После этого инициализируем кластер.

service postgresql initdb
Файлы, относящиеся к этой СУБД, будут принадлежать пользователю "postgres".
От его имени также будет запускаться процесс сервера.

Кластер баз данных будет инициализирован со следующими параметрами локали:
  COLLATE:  C
  CTYPE:    ru_RU.UTF-8
  MESSAGES: ru_RU.UTF-8
  MONETARY: ru_RU.UTF-8
  NUMERIC:  ru_RU.UTF-8
  TIME:     ru_RU.UTF-8
Выбрана конфигурация текстового поиска по умолчанию "russian".

Контроль целостности страниц данных включён.

создание каталога /var/db/postgres/data96... ок
создание подкаталогов... ок
выбирается значение max_connections... 100
выбирается значение shared_buffers... 128MB
выбор реализации динамической разделяемой памяти... posix
создание конфигурационных файлов... ок
выполняется подготовительный скрипт... ок
выполняется заключительная инициализация... ок
сохранение данных на диске... ок

ПРЕДУПРЕЖДЕНИЕ: используется проверка подлинности "trust" для локальных подключений.
Другой метод можно выбрать, отредактировав pg_hba.conf или используя ключи -A,
--auth-local или --auth-host при следующем выполнении initdb.

Готово. Теперь вы можете запустить сервер баз данных:

    /usr/local/bin/pg_ctl -D /var/db/postgres/data96 -l logfile start

 

 

Теги