powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как отцепить PostgreSQL от окна Cygwin?
5 сообщений из 5, страница 1 из 1
Как отцепить PostgreSQL от окна Cygwin?
    #32179004
rihad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запускаю ipc-daemon - все нормально, Cygwin можно закрывать, ipc-daemon останется висеть. Но если потом запущу
$ postmaster &
или
$ pg_ctl start
то Cygwin не закрывается, а если убить, то помрет и postgres.
$ ps
Код:
1.
2.
3.
4.
5.
6.
      PID    PPID    PGID     WINPID  TTY  UID    STIME COMMAND
      288       1     348        220  con 1003 18:44:11 /usr/local/bin/ipc-daemon
     1644       1    1644       1644  con 1003 19:12:12 /usr/bin/bash
     1368    1644    1644        808  con 1003 19:12:12 /usr/bin/postgres
     1172    1368    1644       1172  con 1003 19:12:15 /usr/bin/postgres
     1976    1172    1644       1976  con 1003 19:12:15 /usr/bin/postgres

Видимо дело в том, что postgres дочерний процесс bash'а (в отличие от ipc-daemon) вот думаю надо как-то reparent'нуть postgres на PID 1 чтобы получилось. Что интересно, ipc-daemon я как-то по особому не запускал, просто ipc-daemon & и все.

Помогите! :)
...
Рейтинг: 0 / 0
Как отцепить PostgreSQL от окна Cygwin?
    #32179007
rihad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного докопался, в том смысле что PPID 1 бывает когда из .bash_profile выполняются проги. А когда на командной строке, то бывает PPID bash'а.

вот мой .bash_profile
export PGDATA=/var/pg
/usr/local/bin/ipc-daemon &
pg_ctl start

$ ps
PID PPID PGID WINPID TTY UID STIME COMMAND
1216 1 1216 1632 con 1003 19:36:07 /usr/local/bin/ipc-daemon
592 1 592 592 con 1003 19:37:53 /usr/bin/bash
1384 1 592 1384 con 1003 19:37:53 /usr/bin/postgres
1540 1384 592 1540 con 1003 19:37:56 /usr/bin/postgres
540 1540 592 540 con 1003 19:37:56 /usr/bin/postgres

Все равно окно Cygwin не закрывается не убив postgres :(
...
Рейтинг: 0 / 0
Как отцепить PostgreSQL от окна Cygwin?
    #32179192
Daniel Podolsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я надеюсь, вы его под NT запускаете? :)

Тогда - запускайте его как сервис:
Код: plaintext
1.
cygrunsrv -I PostgreSQL -p /usr/bin/postmaster -a "-D /usr/local/pgsql/data -i -d 5 " -y ipc-daemon -s INT -o
net start PostgreSQL
...
Рейтинг: 0 / 0
Как отцепить PostgreSQL от окна Cygwin?
    #32180022
rihad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю из под Winxp. Спасибо за cygrunsrv. Но все равно не получается :(

$ cygrunsrv -I ipc -p /usr/local/bin/ipc-daemon -o
$ cygrunsrv -I PostgreSQL -p /bin/postmaster -y ipc -s INT -o -e PGDATA=$PGDATA
$ net start postgresql

Первый сервис нормально создается и функционирует. А вот второй при старте выдает в логе (/var/log/postgresql.log):

LOG: FindExec: invalid binary "/bin/postgres"
FATAL: /bin/postmaster: could not locate executable, bailing out...

Я пробовал всевозможные формы -p, вплоть до /cygdrive/c/cygwin/... - безуспешно.

Кстати, чтобы postmaster мог писАть в свои файлы из под юзера SYSTEM, я весь кластер сделал chmod 0777 . -R. Это нормально? А то с ключом -u были проблемы - никак сервис не хотел мириться с тем, что у моего основного юзера-админа нет пароля. А при попытке создать отдельный limited аккаунт postgres, chown впоследствии не признавала существования такого юзера.
...
Рейтинг: 0 / 0
Как отцепить PostgreSQL от окна Cygwin?
    #32180822
Daniel Podolsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LOG: FindExec: invalid binary "/bin/postgres"
FATAL: /bin/postmaster: could not locate executable, bailing out...

Это - беда с линками. Я, помнится, просто скопировал /bin/postgres во все те имена, что на него ссылались.

Кстати, чтобы postmaster мог писАть в свои файлы из под юзера SYSTEM, я весь кластер сделал chmod 0777 . -R.
Я делал так:
Код: plaintext
1.
2.
3.
bash -c  "mkdir -p /usr/local/pgsql/data" 
bash -c  "initdb $USERNAME -D /usr/local/pgsql/data" 
chmod -R g+rw /usr/local/pgsql/data
chown -R SYSTEM:Administrators /usr/local/pgsql/data
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как отцепить PostgreSQL от окна Cygwin?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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