Как установить postgresql на windows server 2008

Обновлено: 03.07.2024


Вариант использования в качестве сервера баз данных PostgreSQL на windows платформе не очень популярен, но имеет место быть как правило, когда необходимо хоть как-то сэкономить на продуктах от MS. Так же существуют специализированные приложения, которые наилучшим образом работают с PostgreSQL. Для 1с существует модифицированная сборка PostgreSQL дающая как уверяют разработчики сопоставимый с MSSQL уровень производительности и отказоустойчивости. Так ли это на самом деле, проверим на практике :)

1. Установка PostgreSQL

Качаем с сайта 1с последнюю сборку PostgreSQL 64-bit 9.1.2-1.1C, распаковываем архив, запускаем msi-пакет, тот что без int, имеет не большой размер файла.



Нажимаем Start.

Опции установки оставляем по умолчанию.


Задаем пароль пользователю postgres от которого будет стартовать сервис. Нажимаем Далее. Если установка PostgreSQL производится впервые, то мастер предложит создать пользователя postgres.


На этапе инициализации БД, выбираем кодировку UTF8. Задаем логин и пароль внутреннему пользователю postgres. Внимание! Пароли пользователя сервиса PostgreSQL и пароль внутреннего пользователя БД PostgreSQL не должны совпадать. Пароль должен состоять как минимум из четырех символов. Если сервер 1C и PostgreSQL планируется запускать на разных машинах, то необходимо поставить галочку "Поддерживать соединения с любых IP, а не только с localhost". Нажимаем Далее и еще раз Далее. :)


Нажимаем еще два раза Далее и дожидаемся окончания установки.


Затем идем в Start\All Programs\PostgreSQL 9.1.2-1.1C(x64). Запускаем утилиту администрирования pgAdmin III. Пробуем подключится к БД. Вводим пароль, который указывали во время установки.


И получаем следующую ошибку: Error connecting to the server: FATAL: password authentication failed for user "postgres".

Довольно неожиданно, с учетом того, что пароль был набран верно. Решил поковырять pg_hba.conf, но на первый взгляд там все хорошо.


Действительно на сайте pgAdmin доступна уже более новая версия. После чего подключение к БД завершается успехом. Помнится, ранее md5 не вызывал подобных проблем, видимо данный глюк действительно связан со старой версией pgAdmin'a.


Теперь можем создать базу для нужд 1С, либо сделать это при помощи самой 1С :)

2. Установка 1C предприятие 8.2.

Для установки отметим, следующие компоненты: 1С:Предприятие, Сервер 1С:Предприятия, Модули расширения веб-сервера, Администрирование сервера 1С:Предприятия.


На этапе, установки "Установить 1С Предприятие как сервис", задаем пароль пользователю USR1C82.


Нажимаем далее, следим за ходом установки :) Пользователю USR1CV82 при установке должны быть назначены следующие права:

Переходим в оснастку Администрирование серверов 1С Предприятие, смотрим что кластер поднялся, и висит на 1541 порту. На вкладке "Рабочие серверы" так же присутствует наш сервер.


Теперь, можно добавить базу на сервер 1С. Для этого переходим на вкладку "Информационные базы" щелкаемся правой кнопкой и выбираем New - Информационная база. Задаем необходимые параметры для подключения к серверу PostgreSQL. Нажимаем ОК.


Запускаем 1С: Предприятие. Выбираем, добавить существующую информационную базу на сервере.


Далее, задаем параметры для подключения. Нажимаем "Далее" и наконец "Готово".


Операцию по созданию базы, можно проделать напрямую из 1С: Предприятия. Для этого при запуске, выбираем пункт "Создание новой информационной базы".


Для подключения клиентов 1С к серверу извне и работы сервера баз данных, на файрволе, должны быть открыты следующие порты:

Агент сервера (ragent) - tcp:1540 Главный менеджер кластера (rmngr) - tcp:1541 Диапазон сетевых портов, для динамического распределения рабочих процессов - tcp:1560-1591, tcp:5432 - Postgresql. Создадим правило через стандартный интерфейс, либо с помощью команды:

Теперь с другого компьютера мы спокойно запускаем клиент 1С:Предприятия, добавляем существующую информационную базу newdb. Не забываем про лицензии, программной / аппаратной защиты. Теперь, можем загрузить тест Гилева и померить производительность нашей системы.

На VirtualBox с 1Гб памяти, Dual-Core 2.6 GHz, 319-релиз 1с, тест Гилева выдает - 11.42 баллов, примерно так же как на CentOS. На 16.362 чуть больше 11.60 баллов. Оптимизация настроек при помощи EnterpriseDB Tuning Wizard ощутимого прироста (11.66 и 11.62) не дала, хотя возможно в целом польза от него имеется. :)

3. Регламентные работы на сервере PostgreSQL.

Резервное копирование.

Запускаем утилиту администрирования pgAdmin III, щелкаемся правой кнопкой по нужной базе данных. Выбираем ''Резервное копирование".


Соответственно, скрипт автоматического резервного копирования, который мы добавим в планировщик может выглядеть примерно следующим образом:

Восстановление.

Для восстановления, выбираем базу, в которую хотим восстановить данные из резервной копии, желательно в пустую. Щелкаемся правой кнопкой и выбираем "Восстановление". Задаем файл бэкапа, имя роли: postgres, нажимаем "Восстановить"


С помощью командной строки:

где, testdb - пустая база, в которую восстанавливается архив резервной копии.

Операции по обслуживанию:

Команда VACUUM (Сжатие):

Последовательно чистит все таблицы базы данных, подключенной в настоящий момент, удаляет временные данные и освобождает место на диске. Чаще всего команда VACUUM выполняется именно для получения максимального объема свободного дискового пространства на диске и увеличения скорости доступа к данным.


VACUUM - помечает место, занимаемое старыми версиями записей, как свободное. Использование этого варианта команды, как правило, не уменьшает размер файла, содержащего таблицу, но позволяет не дать ему бесконтрольно расти, зафиксировав на некотором приемлемом уровне. При работе VACUUM возможен параллельный доступ к обрабатываемой таблице. Существует несколько дополнительных опций использования VACUUM : VACUUM FULL, VACUUM FREEZE, VACUUM ANALYZE.

VACUUM FULL - пытается удалить все старые версии записей и, соответственно, уменьшить размер файла, содержащего таблицу. Этот вариант команды полностью блокирует обрабатываемую таблицу.

VACUUM FREEZE - Если VACUUM FULL удаляет «мусор» из таблиц и перемещает записи так, чтобы таблицы располагались на диске компактно и состояли из наименьшего числа фрагментов, при этом сжатие выполняется долго и блокирует записи, то VACUUM FREEZE просто удаляет «мусор» из таблиц, но сами записи не перемещает, поэтому выполняется быстрее и не блокирует записи. В настоящий момент эту опцию заменяет autovacuum - автоматическая сборка мусора в postgresql.conf плюс несколько дополнительных опций расширяющих функциональность:

VACUUM ANALYZE - Если в базе есть таблицы, данные в которых не изменяются и не удаляются, а лишь добавляются, то для таких таблиц можно использовать отдельную команду ANALYZE. Также стоит использовать эту команду для отдельной таблицы после добавления в неё большого количества записей.

Команда ANALYZE (Анализ):

Служит для обновления информации о распределении данных в таблице. Эта информация используется оптимизатором для выбора наиболее быстрого плана выполнения запроса. Обычно команда используется в связке с VACUUM ANALYZE.

Команда REINDEX (переиндексация):

Используется для перестройки существующих индексов. Использовать её имеет смысл в случае

- постоянного увеличения его размера.

Второй случай требует пояснений. Индекс, как и таблица, содержит блоки со старыми версиями записей. PostgreSQL не всегда может заново использовать эти блоки, и поэтому файл с индексом постепенно увеличивается в размерах. Если данные в таблице часто меняются, то расти он может весьма быстро. Если вы заметили подобное поведение какого-то индекса, то стоит настроить для него периодическое выполнение команды REINDEX. Учтите: команда REINDEX, как и VACUUM FULL, полностью блокирует таблицу, поэтому выполнять её надо тогда, когда загрузка сервера минимальна.

Кризис дело неприятное. и многие пытаясь сэкономить хоть как-нибудь, и устанавливают на Windows PostgreSQL вместо MS SQL.

Хотя если по Вашей компании небольшие обороты, то лучше поставить MS SQL Server 2014 Express, т.к. по опыту PostgreSQL хорошо работает на Linux, на Windows при настройках по умолчанию PostgreSQL работает медленнее MS SQL Server 2014 Express.

Устанавливаем PostgreSQL 9.2.4-1



Отмечаем объекты к установке, если они не отмечены


Устанавливаем "как сервис". Для работы этого сервиса потребуется специальный пользователь. Указываем учетную запись, домен (если имеется) и пароль.


Если пользователь postgres не заведен в системе, то установщик спросит создать пользователя? - жмем да

Перейдем к следующему шагу и укажем Инициализировать кластер БД, порт 5432 и Кодировку UTF8

Если кластер серверов 1С и PostgreSQLна разных машинах, то ставим галочку «Поддерживать подсоединения с любых IP, а не только с localhost».


Далее - Может возникнуть ошибка «Secondary Logon». Тогда идем в «Администрирование» – «Службы». Стартуем службу «Вторичный вход в систему» или «Secondary Logon»


Далее отметьте галкой необходимые модули, можно установить все, но для 1С они не нужны, я устанавливаю только Adminpack


Если процесс установки завершается без проблем, то вам повезло

Чаще бывают проблемы, решение простое и элегантное (бубен можно оставить):

1. Создать/Изменить учетную запись postgres, включить её в группу Администраторы

2. Выйти из системы и войти в неё под учетной записью postgres

3. Запустить установку PostgreSQL

После установки через меню "Пуск" - "Все программы" запускаем утилиту администрирования «pgAdmin III».


Подключаемся к серверу. Там вводим пароль для пользователя «postgres». Если подключиться удалось, попробуем создать новую базу средствами самой 1С.

Запускаем клиентскую часть 1С. Жмем кнопку "Добавить", ставим галочку "Сервер предприятия 1С". Далее заполняем следующее: сервер базы данных (IP или DNS имя того сервера, куда ставили PostgreSQL) - если тот же, что и кластер 1С, то указываем 127.0.0.1. Имя базы данных: [любое_имя]. Пользователь: "postgres" Пароль: [ваш_пароль_postgres]. Далее.

Установка PostgreSQL 9.0.3-3.1C на Windows Server 2008 x64

Для установки используем пакет - PostgreSQL 9.0.3-1C (x86 или x64).

Изображение

Изображение

Отмечаем галочкой, если не отмечено «Директория с данными», «psql» и «pgAdmin III». Далее.

Изображение

Устанавливаем "как сервис". Для работы этого сервиса потребуется специальный пользователь. Указываем учетную запись, домен (если имеется) и пароль. Далее.

Изображение

Если такого пользователя в системе нет, тогда мастер сам предложит создать нового. Отвечаем "да" - пользователь создается. Далее.

Изображение

Теперь инициализируем БД. Указываем порт 5432. Проверяем, что кодировка UTF8. Задаем логин и пароль пользователя PostgreSQL (система предупреждает, что пароль пользователя системы и пароль пользователя PostgreSQL НЕ ДОЛЖНЫ совпадать – учитываем это). Если кластер серверов 1С и PostgreSQL на разных машинах, то ставим галочку «Поддерживать подсоединения с любых IP, а не только с localhost». Далее.

Изображение

Может возникнуть ошибка «Secondary Logon». Тогда идем в «Администрирование» – «Службы». Стартуем службу «Вторичный вход в систему» или «Secondary Logon»:

Далее. Программа устанавливается.

Изображение

Далее. Ждем окончания установки. Если всё хорошо, делаем следующее: Через меню "Пуск" - "Все программы" запускаем утилиту администрирования «pgAdmin III».

Изображение

Изображение

Подключаемся к серверу. Там вводим пароль для пользователя «postgres». Если подключиться удалось, попробуем создать новую базу средствами самой 1С.

Изображение

Запускаем клиентскую часть 1С. Жмем кнопку "Добавить", ставим галочку "Сервер предприятия 1С". Далее заполняем следующее: сервер базы данных (IP или DNS имя того сервера, куда ставили PostgreSQL) - если тот же, что и кластер 1С, то указываем 127.0.0.1. Имя базы данных: [любое_имя]. Пользователь: "postgres" Пароль: [ваш_пароль_postgres]. Далее

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

В статье расскажем об установке PostgreSQL и об установке дополнительных компонентов, используя Stack Builder. В качестве примера используется Windows Server 2018.

Подготовка

Скачаем дистрибутив с официального сайта. На ресурсе представлены релизы в зависимости от разрядности и семейства ОС. Выбираем Windows x64, версию 12.0:

Запускаем установщик и следуем его подсказкам. На одном из этапов потребуется придумать пароль:

Задание пароля


Скриншот №2. Задать пароль.

Вводим его, следуя следующим правилам: не менее 7 символов, заглавные и прописные буквы латинского алфавита, специальные знаки и цифры.

Следующий шаг — указываем порт и локализацию. Номер порта оставляем без изменений, а локализацию выбираем «Русская»:

Выбираем локализацию


Скриншот №3. Выбираем локализацию.

Процесс установки займет не более 5 минут.

Конфигурирование PostgreSQL

По окончании на экране появится следующая надпись:

Выбор сервера


Скриншот №4. Выбор сервера.

Установка компонента Apache


Скриншот №5. Установка компонента Apache.

Далее выбираем директорию для установки — рекомендуется оставить путь по умолчанию, и ожидаем окончания установки.

Следующий этап — подключение к СУБД. Открываем командную строку Windows, переходим в раздел с установленной PostgreSQL:

Читайте также: