Установка PostgreSQL

Материал из WiKi - UserSide
Перейти к: навигация, поиск

Локаль

Убедитесь, что в Вашей системе установлена локаль, которая будет использоваться в базе данных. Например, ru_RU.utf8

Выполните команду locale, чтобы посмотреть, какая локаль установлена в системе по умолчанию. Если Вы планируете в базе данных использовать локаль отличную от системной, то убедитесь, что она добавлена в систему, выполнив команду locale -a. В конечном итоге важно, чтобы в списке локалей, выводимом последней командой, была та локаль, которую необходимо использовать в базе данных.

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

Если Вы планируете использовать локаль базы данных такую же как установлена в системе по умолчанию, и Вам необходимо изменить для этого системную локаль. Для этого выполните команду sudo dpkg-reconfigure locales и выберите необходимую локаль, после чего убедитесь, что она установилась в системе по умолчанию locale.

Если Вы планируете использовать локаль базы данных отличную от системной и ее нет в списке установленных локалей, то добавьте название локали в файл sudo nano /etc/locale.gen (либо просто расскоменитруйте нужную строку). После чего сохраните файл и выполните команду sudo locale-gen. Убедитесь, что необходимая локаль была добавлена, выполнив команду locale -a.

Установка PostgreSQL

Официальная инструкция по добавлению репозитория и установке под разные системы доступна по адресу https://www.postgresql.org/download/

Здесь же описана инструкция установки для Debian-подобных Linux-дистрибутивов.

В стандартном репозитории Debian находится старая версия PostgreSQL. Чтобы иметь возможность установить новую версию, необходимо добавить официальный репозиторий PostgreSQL. Выполните:

   wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
   sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main"
   sudo apt-get update
   sudo apt-get install postgresql

На этом установка завершена.

Настройка PostgreSQL

Для настройки используются несколько конфигурационных файлов, расположенных в каталоге /etc/postgresql/9.6/main

Указанная ниже настройка двух файлов postgresql.conf и pg_hba.conf необходима только в том случае, если USERSIDE и СУБД PostgreSQL находятся на разных узлах!

Если СУБД и USERSIDE находятся на одном и том же узле, перейдите сразу к следующему разделу создания пользователя и базы данных.

postgresql.conf

Файл содержит настройки сервера PostgreSQL.

  1. Откройте файл sudo nano /etc/postgresql/9.6/main/postgresql.conf
  2. Найдите блок настроек CONNECTIONS AND AUTHENTICATION
  3. Раскомментируйте параметр listen_addresses и установите в качестве значения один или несколько IP адресов, разделенных запятыми, на которых сервер принимает подключения от клиентов. Допускается использование символа звездочки.

Подробней можно прочитать в официальной документации: https://postgrespro.ru/docs/postgresql/9.6/runtime-config-connection.html

После чего перезапустите сервер sudo service postgresql restart

pg_hba.conf

Файл содержит настройки аутентификации пользователей по именам узлов. Формат файла представляет набор записей, по одной в строке, состоящих из нескольких полей, разделенных между собой пробелами. Подробно о настройке данного файла можно прочитать по ссылке: https://postgrespro.ru/docs/postgrespro/9.6/auth-pg-hba-conf.html

  1. Откройте файл sudo nano /etc/postgresql/9.6/main/pg_hba.conf
  2. Добавьте в самый низ строку, разрешающую доступ (укажите IP-адрес узла, на котором установлен USERSIDE)

host userside all IP-адрес-userside md5

После чего перечитайте конфигурацию командой sudo service postgresql reload

Тонкая настройка

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

Ознакомиться с методикой настройки СУБД можно по следующим ссылкам:

Правильная настройка может существенно увеличить производительность СУБД, однако будьте крайне внимательны.

Создание пользователя и базы данных

В терминологии PostgreSQL "пользователь" - это роль СУБД, имеющая разрешение LOGIN (подключения к БД). В данной инструкции вместо использования SQL запросов будет предложено воспользоваться консольными командами.

Для того, чтобы создать пользователя, выполните следующую команду (здесь userside - имя пользователя БД):

   sudo -u postgres createuser userside -P

Система запросит пароль создаваемого пользователя, который необходимо ввести дважды.

Теперь создайте базу данных. Создается база данных userside, владельцем которой становится пользователь userside

   sudo -u postgres createdb -e -E "UTF-8" -l "ru_RU.UTF-8" -O userside -T template0 userside

Включение расширения PostGIS

Расширение необходимо для обработки геометрических типов данных, которыми являются объекты на карте.

Сначала необходимо установить расширение PostGIS http://postgis.net/install/

Установка в Debian

В Debian-подобных дистрибутивах для этого выполните команду

   sudo apt-get install postgis

Установка в FreeBSD

В FreeBSD есть порт /usr/ports/databases/postgis

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

   cd /usr/local/share/postgresql/contrib/postgis-*

и выполнить там:

   sudo -u postgres psql -f "postgis.sql"
   sudo -u postgres psql -f "spatial_ref_sys.sql"

Создание расширения для базы данных

После того, как PostGIS установлен, необходимо включить его для базы данных userside следующим образом:

   sudo -u postgres psql -d userside -c "CREATE EXTENSION postgis"

Расширение установлено и подключено к базе данных userside.

Обновление расширения postgis

Обратите пожалуйста внимание на то, что если Вы обновите системный компонент Postgis, Вам также нужно будет обновить и само расширение внутри базы данных следующим образом:

   sudo -u postgres psql -d userside -c "ALTER EXTENSION postgis UPDATE"

FAQ

Возникает ошибка: Sudo: add-apt-repository: command not found.

Решение: sudo apt-get install software-properties-common