powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как распространять ПО использующее Postgres?
14 сообщений из 14, страница 1 из 1
Как распространять ПО использующее Postgres?
    #36556874
Братислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане, есть такая проблема. Есть БД(Postgres) и программа, которая с ней взаимодействует. Необходимо сделать инсталлятор, который бы все это дело установил, я чтобы пользователь не ставил сначала сам Postgres, разворачивал бакап, а потом только устанавливал файлы. Сейчас реализован подход последовательной инсталляции сначала Postgres, потом идет разворачивание бакап, потом копирование файлов и т.д. Но у такого подхода есть явные минусы, главным из которых является сложность.
Если бы Postgres поставлялся еще embbaded версией, как Firebird, проблема была бы решена, но увы...
Если кто-нить может направить в нужное русло, буду благодарен...
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36556942
Sishnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в чем именно проблема? Зачем ставить PostgreSQL?
Скопируйте на новый компьютер, уже настроенный postgres и с уже готовой базой.

Остается только одно - создать службу Windows для автостарта PostgreSQL:
создать ее можно из коммандной строки
http://support.microsoft.com/kb/251192/ru
а параметры надо поискать или посмотреть в реестре.

Все это для ОС Windows. В nix все еще проще...
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36557018
Фотография ss25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под Windows вам помогут .bat-файлы (1. Распаковать архив с базой 2. выполнить инициализацию и запустить 3. Залить дамп 4. дело за вашей прогой)
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36557301
ilejn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понял проблему топикстартера.

Просто пакет с Вашей программой должен зависеть от Postgress, тогда yum или там какой-нибудь apt спокойно и ненавязчиво установит Postgress.

Вот если для установки программы нужно, чтобы база уже была создана (а это вполне естественно), то да - тут некоторая проблема.
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36557690
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
ilejnНе очень понял проблему топикстартера.

Просто пакет с Вашей программой должен зависеть от Postgress, тогда yum или там какой-нибудь apt спокойно и ненавязчиво установит Postgress.

Вот если для установки программы нужно, чтобы база уже была создана (а это вполне естественно), то да - тут некоторая проблема.

Никаких проблем - используйте в своем пакете preinst скрипт для создания базы. Впрочем, судя по всему, речь идет про виндоус.
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36557895
Фотография Mono-Hosting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот мне очень понятна проблема топикстартера - я уже думаю тоже как это делать
пока только думаю - и тренируюсь на 32-х разрядной виндузне

топикстартер как раз говорит о неком REDISTRIBUTABLE пакете, который можно было бы включить в инсталлер стандартный - и чтобы там были бинарники ПГ

чтобы пользователь не ставил сначала сам Postgres, разворачивал бакап, а потом только устанавливал файлы
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36557960
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Делаете образ виртуалки с системой, в котором все ставите нормальным способом, из репозитория apt (или rpm). А пользователю достаточно скачать что-то типа VirtualBox и запустить образ. При этом образ сможет по сети обновляться из репозитория и выполнять все, что полагается полноценной системе. Притом образ можно подготовить в любой ОС, не устанавливая ради этого виндоус.
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36558523
ilejn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBG
Никаких проблем - используйте в своем пакете preinst скрипт для создания базы.

Есть мнение, что пользователь должен иметь возможность управлять этим процессом, или хотя бы контролировать его. Именно поэтому выполнять сложную инициализацию (например, создание базы) в postinstall не очень правильно.

Хотелось бы избавить пользователя от необходимости запускать скрипт в консоли. Но как это лучше сделать?
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36558655
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
ilejnЕсть мнение, что пользователь должен иметь возможность управлять этим процессом, или хотя бы контролировать его. Именно поэтому выполнять сложную инициализацию (например, создание базы) в postinstall не очень правильно.

Хотелось бы избавить пользователя от необходимости запускать скрипт в консоли. Но как это лучше сделать?

А вам не кажется, что названные пункты друг другу противоречат? Или пользователь имеет контроль и делает нужное сам, или оно делается автоматически и пользователь контроля не имеет.
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36558882
Фотография Mono-Hosting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я могу показать как я решаю эти проблемы в случае MS SQL WebDownloader_UltraLite - можно сгрузить и посмотреть
те сама СУБД ставится извне, а софтина показывает инсталляционный скрипт
что-то в таком же роде я думаю делать и сейчас с postgres
на линукс - это конечно не имеет смысла - я думаю сделать предустановленный дистрибутив с помощью KIWI
но это пока только идея, ни того ни другого я с постгресом еще не делал - только собираюсь сделать
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36559262
Братислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение найдено.
Можно просто скопировать папку с установленным Postgres, потом запустить его как службу от имени пользователя postgres, например так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
cls
set TARGET=D:\Solaris\db_server
set PGDATA=%TARGET%\data
set PGUSER=postgres
set PGPASSWORD=pg_admin
set SERVICENAME=PostgreSQL


@rem останавливаем службу
"%TARGET%\bin\pg_ctl.exe" stop -N %SERVICENAME% -U %PGUSER% -P %PGPASSWORD% -D "%PGDATA%"

@rem удаляем службу
sc delete %SERVICENAME%

@удаляем пользователя
net user %PGUSER% /delete


@rem добавляем нового пользователя
net user /add %PGUSER% %PGPASSWORD%

@rem устанавливаем полные права на папку
cacls "%TARGET%" /T /E /G %PGUSER%:F 


@rem регистрируем службу
"%TARGET%\bin\pg_ctl.exe" register -N %SERVICENAME% -U %PGUSER% -P %PGPASSWORD% -D "%PGDATA%"

@rem назначаем права пользователю для входа в качестве службы
ntrights.exe +r SeServiceLogonRight -u %PGUSER%

@rem запускаем службу
net start %SERVICENAME%
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #36559281
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первом же ответе Вам именно про это и говорили ...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как распространять ПО использующее Postgres?
    #38912900
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Братислав,

Хоть вы уже может и не узнаете об этом (судя по активности),
но огромное спасибо автору, за предоставленное решение
...
Рейтинг: 0 / 0
Как распространять ПО использующее Postgres?
    #38912984
PG81Хоть вы уже может и не узнаете об этомDownloadsAdvanced users can also download a zip archive of the binaries, without the installer. This is not recommended for normal installations, it is intended for users who wish to include PostgreSQL as part of another application installer .
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как распространять ПО использующее Postgres?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]