16.2. Установка Postgres Pro Standard в Windows

16.2.1. Поддерживаемые версии Windows
16.2.2. Установка с графическим интерфейсом
16.2.3. Установка в командной строке
16.2.4. Загрузка процедурных языков
16.2.5. Настройка нескольких экземпляров Postgres Pro
16.2.6. Удаление Postgres Pro Standard

Postgres Pro предлагает следующие режимы установки в поддерживаемых системах Windows:

Вы также можете настроить среду для использования процедурных языков PL/Perl и PL/Python, если они требуются для ваших целей. За подробностями обратитесь к Подразделу 16.2.4.

Во избежание недопонимания учтите, что в системах Windows имеются следующие отдельные пользователи:

16.2.1. Поддерживаемые версии Windows

Postgres Pro поддерживает следующие версии Windows:

  • Windows 7 SP1, 8.1, 10

  • Windows Server 2008 R2, Windows Server 2012, Windows Server 2016

16.2.2. Установка с графическим интерфейсом

Postgres Pro предоставляет инсталлятор с интерактивным мастером, который устанавливает и конфигурирует Postgres Pro, создаёт начальную базу данных и настраивает автозапуск сервера.

Для установки Postgres Pro запустите представленный инсталлятор от имени администратора и следуйте инструкциям на экране. Учтите следующую специфику установки:

  • Вы можете установить все компоненты Postgres Pro или настроить инсталляцию, исключив серверную часть или компоненты для разработчика. Клиентская часть устанавливается всегда.

  • Выбранный каталог данных должен быть пустым. В противном случае Postgres Pro не сможет создать начальную базу данных. По умолчанию каталогом данных будет C:\Program Files\PostgresPro\10\data.

  • Если установлен флажок Allow external connections (Разрешить внешние подключения) (отмеченный по умолчанию), инсталлятор вносит изменения в postgresql.conf и pg_hba.conf для разрешения подключений извне. В противном случае сервер Postgres Pro будет принимать подключения только с локального узла. Если вы решите разрешить внешние подключения после завершения установки, вы должны будете изменить конфигурацию Брандмауэра Windows, чтобы сервер Postgres Pro мог принимать подключения.

  • Запомните имя и пароль пользователя, заданные вами при установке Postgres Pro, так как они потребуются для подключения к серверу Postgres Pro при использовании аутентификации с проверкой пароля.

  • Postgres Pro предоставляет заранее настроенный ярлык psql, который можно найти в меню Пуск, чтобы вам не пришлось настраивать стандартные переменные окружения. Однако если вы хотели бы работать с Postgres Pro в обычной консоли командной строки, не задавая полные пути к двоичным файлам, отметьте флажок Set up environment variables (Настроить переменные окружения).

По завершении инсталляции экземпляр Postgres Pro готов к использованию, а для службы сервера включён автозапуск. Если вам понадобится больше одного экземпляра Postgres Pro в одной системе, вам нужно будет настроить дополнительные экземпляры вручную. За подробностями обратитесь к Подразделу 16.2.5.

16.2.3. Установка в командной строке

Чтобы установить Postgres Pro из командной строки, запустите загруженный файл инсталлятора, передав один или несколько параметров, описанных в Подразделе 16.2.3.1.

16.2.3.1. Параметры командной строки

Путь каталога инсталляции:

/D=путь

Полностью автоматическая установка:

/S

INI-файл, содержащий параметры установки сервера:

/init=имя_ini-файла

Если вы хотите скорректировать стандартные параметры, вы должны создать INI-файл вручную, как описано в Подразделе 16.2.3.2.

16.2.3.2. Формат INI-файла

В разделе [options] данного файла можно задать следующие параметры:

  • InstallDir — путь для установки сервера. Если вы зададите параметр /D в командной строке, значение InstallDir будет иметь приоритет.

  • DataDir — путь для создания баз данных по умолчанию

  • Port — порт TCP/IP для приёма подключений. По умолчанию: 5432.

  • SuperUser — имя пользователя, который получит права администратора баз данных

  • Password — пароль этого пользователя

  • noExtConnections = 1 — не разрешать внешние подключения.

  • Coding = UNICODE — кодировка символов для использования в базе данных

  • Locale — локаль для использования в базе данных (для каждой кодировки может быть несколько локалей)

  • Vcredist = no — не устанавливать распространяемые библиотеки Visual C (это можно сделать, только если эти библиотеки уже установлены в системе)

  • envvar = 1 — установить полезные для Postgres Pro переменные окружения: PGDATA, PGDATABASE, PGUSER, PGPORT, PGLOCALEDIR

  • needoptimization = 0 — отключить автоматическую настройку параметров конфигурации в зависимости от имеющихся системных ресурсов.

  • datachecksums = 0 — отключить контрольные суммы в кластере.

16.2.4. Загрузка процедурных языков

В дистрибутив Postgres Pro для систем Windows включены процедурные языки PL/Perl и PL/Python.

16.2.4.1. Настройка среды для PL/Python

Чтобы настроить систему для использования PL/Python, выполните следующие действия:

  1. Загрузите и установите последнюю версию Python 2.7 для Windows, соответствующую архитектуре вашего сервера Postgres Pro (32- или 64-битную). Найти подходящий инсталлятор вы можете на сайте https://www.python.org/.

  2. Создайте расширение PL/Python, выполнив следующую команду в psql:

    CREATE EXTENSION plpythonu

Подсказка

В некоторых случаях при создании функции на PL/Python соединение с сервером разрывается, а в журнал сервера выводится следующее сообщение об ошибке:

ImportError: module site not found

Для устранения этой проблемы попробуйте указать каталог инсталляции Python в переменной окружения PYTHONHOME и перезапустите службу Postgres Pro.

16.2.4.2. Настройка окружения для PL/Perl

Чтобы настроить систему для использования PL/Perl, выполните следующие действия:

  1. Загрузите и установите последнюю версию ActivePerl 5.22, соответствующую архитектуре вашего сервера Postgres Pro (32- или 64-битную). Найти подходящий инсталлятор вы можете на странице https://www.activestate.com/activeperl/downloads.

  2. Обязательно отметьте флажок Add Perl to the PATH environment variable (Добавить Perl в переменную окружения) в мастере установки.

  3. Перезапустите сервер Postgres Pro.

  4. Создайте расширение PL/Perl, выполнив следующую команду в psql:

    CREATE EXTENSION plperlu

16.2.5. Настройка нескольких экземпляров Postgres Pro

Чтобы настроить в Windows несколько экземпляров сервера Postgres Pro с разными каталогами данных, нужно проделать следующее:

  1. Установите Postgres Pro, как описывается в Подразделе 16.2.2 или Подразделе 16.2.3. Установленные двоичные файлы используются всеми экземплярами Postgres Pro, поэтому данное действие нужно выполнить только один раз.

  2. Выберите пустую папку, которую ваш новый экземпляр Postgres Pro будет использовать в качестве каталога данных. Например, это может быть C:\Program Files\PostgresPro\10\data2. К этой папке необходимо дать полный доступ текущему пользователю ОС, который будет владельцем файлов базы, и пользователю, от имени которого работает сервер (по умолчанию NT AUTHORITY\NetworkService).

  3. Запустите программу initdb, передав ей полный путь к новому каталогу данных и другие параметры, требующиеся для инициализации нового экземпляра сервера. Например:

    "C:\Program Files\PostgresPro\10\bin\initdb.exe" --encoding=UTF8 -U "postgres" -D "C:\Program Files\PostgresPro\10\data2"

    Также вы можете остановить работающий сервер и скопировать содержимое существующего каталога данных в новый каталог. В этом случае новый экземпляр Postgres Pro наследует все свойства исходного экземпляра, включая параметры аутентификации.

  4. Установите в postgresql.conf нового экземпляра Postgres Pro требуемые параметры. Обязательно назначьте отдельным экземплярам сервера разные порты во избежание конфликтов.

  5. Откройте приглашение командной строки от имени администратора и зарегистрируйте новую службу Postgres Pro с уникальным именем, например, postgrespro-data2:

    "C:\Program Files\PostgresPro\10\bin\pg_ctl.exe" register -N "postgrespro-data2" -U "NT AUTHORITY\NetworkService" -D "C:\Program Files\PostgresPro\10\data2" -w

    Запустите зарегистрированную службу:

    sc start "postgrespro-data2"

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

16.2.6. Удаление Postgres Pro Standard

Процедура удаления Postgres Pro Standard зависит от количества экземпляров Postgres Pro, установленных в вашей системе.

Если у вас только один экземпляр Postgres Pro, созданный во время установки, вам будет достаточно запустить программу C:\Program Files\PostgresPro\10\uninstall.exe. Эта программа автоматически остановит сервер и разрегистрирует службу, связанную с этим экземпляром.

Если вы создавали дополнительные экземпляры Postgres Pro, вам нужно будет проделать следующие действия:

  1. Остановите сервер для каждого экземпляра:

    "C:\Program Files\PostgresPro\10\bin\pg_ctl.exe" stop -D "C:\Program Files\PostgresPro\10\data_dir" -m fast -w
  2. Разрегистрируйте службы для всех экземпляров:

    "C:\Program Files\PostgresPro\10\bin\pg_ctl.exe" unregister -N "имя_службы_postgrespro"
  3. Запустите C:\Program Files\PostgresPro\10\uninstall.exe, чтобы удалить исполняемые файлы Postgres Pro.