PostgreSQL предлагает следующие режимы установки в поддерживаемых системах Windows:
Установка в графическом режиме с помощью интерактивного мастера
Вы также можете настроить среду для использования процедурных языков PL/Perl и PL/Python, если они требуются для ваших целей. За подробностями обратитесь к Подразделу 18.2.4.
Во избежание недопонимания учтите, что в системах Windows имеются следующие отдельные пользователи:
Установка PostgreSQL производится от имени текущего пользователя операционной системы. Все файлы баз данных будут принадлежать этому пользователю.
Чтобы работать с этой базой данных, вы должны будете подключиться к кластеру баз данных под именем пользователя, созданного во время установки. (Это не пользователь операционной системы.)
По умолчанию служба PostgreSQL запускается от имени NT AUTHORITY\NetworkService, специального служебного пользователя Windows. При необходимости вы можете выбрать другого пользователя Windows, который будет запускать PostgreSQL, в соответствующем поле инсталлятора. Выбранный вами пользователь должен иметь право запуска служб Windows.
PostgreSQL выпускается для следующих 64-битных версий Windows:
Windows 8.1, 10
Windows Server 2008 R2 и новее
PostgreSQL предоставляет инсталлятор с интерактивным мастером, который устанавливает и конфигурирует PostgreSQL, создаёт начальную базу данных и настраивает автозапуск сервера.
Для установки PostgreSQL запустите представленный инсталлятор от имени администратора и следуйте инструкциям на экране. Учтите следующую специфику установки:
Вы можете установить все компоненты PostgreSQL или настроить инсталляцию, исключив серверную часть или компоненты для разработчика. Клиентская часть устанавливается всегда.
Выбранный каталог данных должен быть пустым. В противном случае PostgreSQL не сможет создать начальную базу данных. По умолчанию каталогом данных будет C:\Program Files\PostgresPro\13\data.
Если установлен флажок Allow external connections (Разрешить внешние подключения) (отмеченный по умолчанию), инсталлятор вносит изменения в postgresql.conf и pg_hba.conf для разрешения подключений извне. В противном случае сервер PostgreSQL будет принимать подключения только с локального узла. Если вы решите разрешить внешние подключения после завершения установки, вы должны будете изменить конфигурацию Брандмауэра Windows, чтобы сервер PostgreSQL мог принимать подключения.
Запомните имя и пароль пользователя, заданные вами при установке PostgreSQL, так как они потребуются для подключения к серверу PostgreSQL при использовании аутентификации с проверкой пароля.
По умолчанию в PostgreSQL используются правила сортировки icu. Если вы обновляете инсталляцию, в которой использовались правила сортировки libc, например, инсталляцию PostgreSQL, выберите libc в качестве провайдера правил сортировки, воспользовавшись соответствующим выпадающим списком в инсталляторе.
PostgreSQL предоставляет заранее настроенный ярлык psql, который можно найти в меню Пуск, чтобы вам не пришлось настраивать стандартные переменные окружения. Однако если вы хотели бы работать с PostgreSQL в обычной консоли командной строки, не задавая полные пути к двоичным файлам, отметьте флажок Set up environment variables (Настроить переменные окружения).
По завершении инсталляции экземпляр PostgreSQL готов к использованию, а для службы сервера включён автозапуск. Если вам понадобится больше одного экземпляра PostgreSQL в одной системе, вам нужно будет настроить дополнительные экземпляры вручную. За подробностями обратитесь к Подразделу 18.2.5.
Чтобы установить PostgreSQL из командной строки, запустите загруженный файл инсталлятора, передав один или несколько параметров, описанных в Подразделе 18.2.3.1.
Путь каталога инсталляции:
/D=путьПолностью автоматическая установка:
/S
INI-файл, содержащий параметры установки сервера:
/init=имя_ini-файла Если вы хотите скорректировать стандартные параметры, вы должны создать INI-файл вручную, как описано в Подразделе 18.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 — отключить контрольные суммы в кластере.
serviceaccount — пользователь Windows, от имени которого будет запускаться служба PostgreSQL. Указанный пользователь должен иметь право запуска служб Windows. По умолчанию служба PostgreSQL запускается от имени NT AUTHORITY\NetworkService, специальной учётной записи для служб Windows.
servicepassword — пароль для пользователя Windows, указанного в параметре serviceaccount.
serviceid — имя службы PostgreSQL.
islibc = 1 — использовать libc в качестве провайдера основного правила сортировки.
В дистрибутив PostgreSQL для систем Windows включены процедурные языки PL/Perl и PL/Python.
Чтобы настроить систему для использования PL/Python, выполните следующие действия:
Загрузите и установите последнюю версию Python 2.7 для Windows. Выберите 64-битную версию, так как сервер PostgreSQL имеет 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.26 по ссылке https://www.activestate.com/activeperl/downloads и установите его.
Обязательно отметьте флажок Add Perl to the PATH environment variable (Добавить Perl в переменную окружения) в мастере установки.
Перезапустите сервер PostgreSQL.
Создайте расширение PL/Perl, выполнив следующую команду в psql:
CREATE EXTENSION plperlu
Чтобы настроить в Windows несколько экземпляров сервера PostgreSQL с разными каталогами данных, нужно проделать следующее:
Установите PostgreSQL, как описывается в Подразделе 18.2.2 или Подразделе 18.2.3. Установленные двоичные файлы используются всеми экземплярами PostgreSQL, поэтому данное действие нужно выполнить только один раз.
Выберите пустую папку, которую ваш новый экземпляр PostgreSQL будет использовать в качестве каталога данных. Например, это может быть C:\Program Files\PostgresPro\13\data2. К этой папке необходимо дать полный доступ текущему пользователю ОС, который будет владельцем файлов базы, и пользователю, от имени которого работает сервер (по умолчанию NT AUTHORITY\NetworkService).
Запустите программу initdb, передав ей полный путь к новому каталогу данных и другие параметры, требующиеся для инициализации нового экземпляра сервера. Например:
"C:\Program Files\PostgresPro\13\bin\initdb.exe" --encoding=UTF8 -U "postgres" -D "C:\Program Files\PostgresPro\13\data2"
Также вы можете остановить работающий сервер и скопировать содержимое существующего каталога данных в новый каталог. В этом случае новый экземпляр PostgreSQL наследует все свойства исходного экземпляра, включая параметры аутентификации.
Установите в postgresql.conf нового экземпляра PostgreSQL требуемые параметры. Обязательно назначьте отдельным экземплярам сервера разные порты во избежание конфликтов.
Откройте приглашение командной строки от имени администратора и зарегистрируйте новую службу PostgreSQL с уникальным именем, например, postgrespro-data2:
"C:\Program Files\PostgresPro\13\bin\pg_ctl.exe" register -N "postgrespro-data2" -U "NT AUTHORITY\NetworkService" -D "C:\Program Files\PostgresPro\13\data2" -w
Запустите зарегистрированную службу:
sc start "postgrespro-data2"
После запуска службы ваш экземпляр PostgreSQL готов к использованию. Если вам нужны дополнительные расширения PostgreSQL, установите их в новом экземпляре, как описывается в Разделе 18.3.
Процедура удаления PostgreSQL for 1C зависит от количества экземпляров PostgreSQL, установленных в вашей системе.
Если у вас только один экземпляр PostgreSQL, созданный во время установки, вам будет достаточно запустить программу C:\Program Files\PostgresPro\13\uninstall.exe. Эта программа автоматически остановит сервер и разрегистрирует службу, связанную с этим экземпляром.
Если вы создавали дополнительные экземпляры PostgreSQL, вам нужно будет проделать следующие действия:
Остановите сервер для каждого экземпляра:
"C:\Program Files\PostgresPro\13\bin\pg_ctl.exe" stop -D "C:\Program Files\PostgresPro\13\data_dir" -m fast -wРазрегистрируйте службы для всех экземпляров:
"C:\Program Files\PostgresPro\13\bin\pg_ctl.exe" unregister -N "имя_службы_postgrespro"Запустите C:\Program Files\PostgresPro\13\uninstall.exe, чтобы удалить исполняемые файлы PostgreSQL.