Как стать автором
Обновить

Запускаем PostgreSQL без инсталляции

PostgreSQL
Перевод
Tutorial
Автор оригинала: Leo Hsu and Regina Obe
Этот вопрос довольно часто возникает во всякого рода форумах. «Поэтому этим рецептом стоит поделиться», – подумали мы. И вот как это обычно происходит у нас

Задача: запустить сервер PostgreSQL на настольном компьютере или сервере под управлением Windows без установки, возможно с переносного носителя.



Существуют ситуации когда это действительно необходимо. Например, ваша программа не требует установки, но использует сервер PostgreSQL. Или у вас нету прав на установку (обновление) сервера на данной машине.

Итак что нужно сделать:

  1. Для начала необходимы бинарные файлы сервера для Windows. Можете скопировать папку PostgreSQL (минус папка data) из существующей установки сервера, или просто скачать файлы из раздела сайта PostgreSQL Windows. Убедитесь в том, что выбран .zip архив.
  2. Далее скопируйте приведенный ниже пакетный файл в корень новой папки PostgreSQL.
  3. При первом использовании, раcкомментируйте строчку в вызовом initdb.
  4. Запустите пакетный файл.


Ниже приведен сценарий, который запускает PostgreSQL сервер и по нажатии клавиши ввода (Enter), остановит сервис. Данный скрипт мы используем в составе автономного комплекта разработки и тестирования под управлением PostgreSQL 9.0-beta. Мы запускаем процесс на нестандартном порту (5439, чтобы знать, что это именно 9.0-сервер). Для инициализации базы данных в первый раз, вам нужно будет запустить команду initdb. Инициализировать базу нужно только один раз. Далее вы можете перенести папку на устройство USB, если хотите. Переменная %CD% возвращает путь к папке, в которой расположен пакетный файл.

@ECHO ON
REM Устанавливаем переменные окружения для запуска PostgreSQL
@SET PATH="%CD%\bin";%PATH%
@SET PGDATA=%CD%\data
@SET PGDATABASE=postgres
@SET PGUSER=postgres
@SET PGPORT=5439
@SET PGLOCALEDIR=%CD%\share\locale
REM %CD%\bin\initdb -U postgres -A trust
%CD%\bin\pg_ctl -D %CD%/data -l logfile start
ECHO "Нажмите Enter чтобы остановить работу сервера"
pause
%CD%\bin\pg_ctl -D %CD%/data stop
Теги:postgesqlportablebatch
Хабы: PostgreSQL
Всего голосов 24: ↑22 и ↓2+20
Просмотры20K

Похожие публикации

Лучшие публикации за сутки