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

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

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

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

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

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

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

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

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

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

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

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

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

А вам не кажется, что названные пункты друг другу противоречат? Или пользователь имеет контроль и делает нужное сам, или оно делается автоматически и пользователь контроля не имеет.
...
Рейтинг: 0 / 0
02.04.2010, 22:49
    #36558882
Mono-Hosting
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как распространять ПО использующее Postgres?
ну я могу показать как я решаю эти проблемы в случае MS SQL WebDownloader_UltraLite - можно сгрузить и посмотреть
те сама СУБД ставится извне, а софтина показывает инсталляционный скрипт
что-то в таком же роде я думаю делать и сейчас с postgres
на линукс - это конечно не имеет смысла - я думаю сделать предустановленный дистрибутив с помощью KIWI
но это пока только идея, ни того ни другого я с постгресом еще не делал - только собираюсь сделать
...
Рейтинг: 0 / 0
03.04.2010, 16:46
    #36559262
Братислав
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как распространять ПО использующее Postgres?
Решение найдено.
Можно просто скопировать папку с установленным 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
03.04.2010, 17:29
    #36559281
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как распространять ПО использующее Postgres?
В первом же ответе Вам именно про это и говорили ...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
23.03.2015, 10:35
    #38912900
PG81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как распространять ПО использующее Postgres?
Братислав,

Хоть вы уже может и не узнаете об этом (судя по активности),
но огромное спасибо автору, за предоставленное решение
...
Рейтинг: 0 / 0
23.03.2015, 11:39
    #38912984
Как распространять ПО использующее Postgres?
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
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как распространять ПО использующее Postgres? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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