PostgreSQL предлагает следующие режимы установки в поддерживаемых системах Windows:
Установка в графическом режиме с помощью интерактивного мастера
Вы также можете настроить среду для использования процедурных языков PL/Perl и PL/Python, если они требуются для ваших целей. За подробностями обратитесь к Подразделу 16.2.4.
Во избежание недопонимания учтите, что в системах Windows имеются следующие отдельные пользователи:
Установка PostgreSQL производится от имени текущего пользователя операционной системы. Все файлы баз данных будут принадлежать этому пользователю.
Чтобы работать с этой базой данных, вы должны будете подключиться к кластеру баз данных под именем пользователя, созданного во время установки. (Это не пользователь операционной системы.)
Служба PostgreSQL запускается под именем специальной учётной записи Windows — NT AUTHORITY\NetworkService.
PostgreSQL поддерживает следующие версии Windows:
Windows 7 SP1, 8.1, 10
Windows Server 2008 R2, Windows Server 2012, Windows Server 2016
PostgreSQL предоставляет инсталлятор с интерактивным мастером, который устанавливает и конфигурирует PostgreSQL, создаёт начальную базу данных и настраивает автозапуск сервера.
Для установки PostgreSQL запустите представленный инсталлятор от имени администратора и следуйте инструкциям на экране. Учтите следующую специфику установки:
Вы можете установить все компоненты PostgreSQL или настроить инсталляцию, исключив серверную часть или компоненты для разработчика. Клиентская часть устанавливается всегда.
Выбранный каталог данных должен быть пустым. В противном случае PostgreSQL не сможет создать начальную базу данных. По умолчанию каталогом данных будет C:\Program Files\PostgresPro\10\data.
Если установлен флажок Allow external connections (Разрешить внешние подключения) (отмеченный по умолчанию), инсталлятор вносит изменения в postgresql.conf и pg_hba.conf для разрешения подключений извне. В противном случае сервер PostgreSQL будет принимать подключения только с локального узла. Если вы решите разрешить внешние подключения после завершения установки, вы должны будете изменить конфигурацию Брандмауэра Windows, чтобы сервер PostgreSQL мог принимать подключения.
Запомните имя и пароль пользователя, заданные вами при установке PostgreSQL, так как они потребуются для подключения к серверу PostgreSQL при использовании аутентификации с проверкой пароля.
PostgreSQL предоставляет заранее настроенный ярлык psql, который можно найти в меню Пуск, чтобы вам не пришлось настраивать стандартные переменные окружения. Однако если вы хотели бы работать с PostgreSQL в обычной консоли командной строки, не задавая полные пути к двоичным файлам, отметьте флажок Set up environment variables (Настроить переменные окружения).
По завершении инсталляции экземпляр PostgreSQL готов к использованию, а для службы сервера включён автозапуск. Если вам понадобится больше одного экземпляра PostgreSQL в одной системе, вам нужно будет настроить дополнительные экземпляры вручную. За подробностями обратитесь к Подразделу 16.2.5.
Чтобы установить PostgreSQL из командной строки, запустите загруженный файл инсталлятора, передав один или несколько параметров, описанных в Подразделе 16.2.3.1.
Путь каталога инсталляции:
/D=путьПолностью автоматическая установка:
/S
INI-файл, содержащий параметры установки сервера:
/init=имя_ini-файла Если вы хотите скорректировать стандартные параметры, вы должны создать INI-файл вручную, как описано в Подразделе 16.2.3.2.
В разделе [options] данного файла можно задать следующие параметры:
InstallDir — путь для установки сервера. Если вы зададите параметр /D в командной строке, значение InstallDir будет иметь приоритет.
DataDir — путь для создания баз данных по умолчанию
Port — порт TCP/IP для приёма подключений. По умолчанию: 5432.
SuperUser — имя пользователя, который получит права администратора баз данных
Password — пароль этого пользователя
noExtConnections = 1 — не разрешать внешние подключения.
Coding = UNICODE — кодировка символов для использования в базе данных
Locale — локаль для использования в базе данных (для каждой кодировки может быть несколько локалей)
Vcredist = no — не устанавливать распространяемые библиотеки Visual C (это можно сделать, только если эти библиотеки уже установлены в системе)
envvar = 1 — установить полезные для PostgreSQL переменные окружения: PGDATA, PGDATABASE, PGUSER, PGPORT, PGLOCALEDIR
needoptimization = 0 — отключить автоматическую настройку параметров конфигурации в зависимости от имеющихся системных ресурсов.
datachecksums = 0 — отключить контрольные суммы в кластере.
В дистрибутив PostgreSQL для систем Windows включены процедурные языки PL/Perl и PL/Python.
Чтобы настроить систему для использования PL/Python, выполните следующие действия:
Загрузите и установите последнюю версию Python 2.7 для Windows, соответствующую архитектуре вашего сервера PostgreSQL (32- или 64-битную). Найти подходящий инсталлятор вы можете на сайте https://www.python.org/.
Создайте расширение PL/Python, выполнив следующую команду в psql:
CREATE EXTENSION plpythonu
В некоторых случаях при создании функции на PL/Python соединение с сервером разрывается, а в журнал сервера выводится следующее сообщение об ошибке:
ImportError: module site not found
Для устранения этой проблемы попробуйте указать каталог инсталляции Python в переменной окружения PYTHONHOME и перезапустите службу PostgreSQL.
Чтобы настроить систему для использования PL/Perl, выполните следующие действия:
Загрузите и установите последнюю версию ActivePerl 5.22, соответствующую архитектуре вашего сервера PostgreSQL (32- или 64-битную). Найти подходящий инсталлятор вы можете на странице https://www.activestate.com/activeperl/downloads.
Обязательно отметьте флажок Add Perl to the PATH environment variable (Добавить Perl в переменную окружения) в мастере установки.
Перезапустите сервер PostgreSQL.
Создайте расширение PL/Perl, выполнив следующую команду в psql:
CREATE EXTENSION plperlu
Чтобы настроить в Windows несколько экземпляров сервера PostgreSQL с разными каталогами данных, нужно проделать следующее:
Установите PostgreSQL, как описывается в Подразделе 16.2.2 или Подразделе 16.2.3. Установленные двоичные файлы используются всеми экземплярами PostgreSQL, поэтому данное действие нужно выполнить только один раз.
Выберите пустую папку, которую ваш новый экземпляр PostgreSQL будет использовать в качестве каталога данных. Например, это может быть C:\Program Files\PostgresPro\10\data2. К этой папке необходимо дать полный доступ текущему пользователю ОС, который будет владельцем файлов базы, и пользователю, от имени которого работает сервер (по умолчанию NT AUTHORITY\NetworkService).
Запустите программу initdb, передав ей полный путь к новому каталогу данных и другие параметры, требующиеся для инициализации нового экземпляра сервера. Например:
"C:\Program Files\PostgresPro\10\bin\initdb.exe" --encoding=UTF8 -U "postgres" -D "C:\Program Files\PostgresPro\10\data2"
Также вы можете остановить работающий сервер и скопировать содержимое существующего каталога данных в новый каталог. В этом случае новый экземпляр PostgreSQL наследует все свойства исходного экземпляра, включая параметры аутентификации.
Установите в postgresql.conf нового экземпляра PostgreSQL требуемые параметры. Обязательно назначьте отдельным экземплярам сервера разные порты во избежание конфликтов.
Откройте приглашение командной строки от имени администратора и зарегистрируйте новую службу PostgreSQL с уникальным именем, например, 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"
После запуска службы ваш экземпляр PostgreSQL готов к использованию. Если вам нужны дополнительные расширения PostgreSQL, установите их в новом экземпляре, как описывается в Разделе 16.3.
Процедура удаления PostgreSQL for 1C зависит от количества экземпляров PostgreSQL, установленных в вашей системе.
Если у вас только один экземпляр PostgreSQL, созданный во время установки, вам будет достаточно запустить программу C:\Program Files\PostgresPro\10\uninstall.exe. Эта программа автоматически остановит сервер и разрегистрирует службу, связанную с этим экземпляром.
Если вы создавали дополнительные экземпляры PostgreSQL, вам нужно будет проделать следующие действия:
Остановите сервер для каждого экземпляра:
"C:\Program Files\PostgresPro\10\bin\pg_ctl.exe" stop -D "C:\Program Files\PostgresPro\10\data_dir" -m fast -wРазрегистрируйте службы для всех экземпляров:
"C:\Program Files\PostgresPro\10\bin\pg_ctl.exe" unregister -N "имя_службы_postgrespro"Запустите C:\Program Files\PostgresPro\10\uninstall.exe, чтобы удалить исполняемые файлы PostgreSQL.