Hi all.
Вот вчера поставил PostgresSQL 7.3.4 на FreeBSD 4.10
Встал без проблем. Создал пользователя и группу postgres. Владельцем /usr/local/pgsql поставил postgres:postgres
Стартовый скрипт в /usr/local/etc/rc.d/ :
12postgres.sh
#!/bin/sh
[ -x /usr/local/pgsql/bin/postmaster] && /usr/local/pgsql/postmaster -D /usr/local/pgsql/data && rcho -n 'pg started'Владелец скрипта тоже postgres:postgres
Но при запуске PostgreSQL ругается:
"root" execution of the PostgreSQL server is not permitted. Ну и в том-же духе дальше.
Подскажите, а с чего он взял что я его под рутом хочу запустить? Ведь и владелец стартового скрипта и /usr/local/pgsql/ стоит postgres ?
Заранее спасибо за помощь.
>Подскажите, а с чего он взял что я его под рутом хочу
>запустить? Ведь и владелец стартового скрипта и /usr/local/pgsql/ стоит postgres ?
>
ну и что. а бит смены?
запускай в связке с su -l postgres
[ -x /usr/local/pgsql/bin/postmaster] && su -l postgres &&/usr/local/pgsql/postmaster -D /usr/local/pgsql/data && rcho -n 'pg started'Вот так?
>[ -x /usr/local/pgsql/bin/postmaster] && su -l postgres &&/usr/local/pgsql/postmaster -D /usr/local/pgsql/data && rcho
>-n 'pg started'
>
>Вот так?
/usr/local/etc/rc.d# less postgres.sh
#! /bin/shcase $1 in
start)
su -l postgres -c 'pg_ctl -D data -l log/psql.log -o "-i" start'
;;
stop)
su -l postgres -c 'pg_ctl -D data stop'
;;
esacexit 0
Спасибо ;-)
Сегодня попробую!
К сожалению не получилось ;-(
после su -l postgres он переходит в шел postgres`а. Соответственно после выхода из него скрипт снова почему-то пытается запустить postgres с правами root. Еще какие-нить варианты есть?
>К сожалению не получилось ;-(
>после su -l postgres он переходит в шел postgres`а. Соответственно после выхода
>из него скрипт снова почему-то пытается запустить postgres с правами root.
>Еще какие-нить варианты есть?
что значит "после выхода".
при загрузке постгре запускаеться от имени postgres и в фоне работает.
какой выход и повторный запуск.
давай попорядку.
у меня тоже 4.10
постгресс запускается вот так:
su postgres -c "/usr/local/pgsql/bin/pg_ctl start -l '/var/log/postgres' -D /usr/local/pgsql/data"
и все жужжит :-)проблема в другом. может и непроблема но какойто постгресс пугливый:
делаю telnet 127.0.0.1 5432
он (постгресс) пугается и валится. В логи пишет чтото типа "fast shutdown"
ok.
Создал файл 05postgres.sh, поместил туда скрипт который вы мне написали. поместил его в /usr/local/etc/rc.d
перзапускаюсь. Издет загрузка...потом попадаю почему-то в шелл. делаю id
postgres (1004)... ну и в том-же духе. Может быть это важно. Пользователю postgres у меня пока назначем валидный shell (/bin/sh).
В чем моя ошибка?
2 black cat - Вышеуказанный скрипт у вас в rc.d/xxxxxx.sh прописан?
>2 black cat - Вышеуказанный скрипт у вас в rc.d/xxxxxx.sh прописан?
в rc.local
хотя в процессе установки/настройки запускал просто из шелла.
>ok.
>Создал файл 05postgres.sh, поместил туда скрипт который вы мне написали. поместил его
>в /usr/local/etc/rc.d
>перзапускаюсь. Издет загрузка...потом попадаю почему-то в шелл. делаю id
>postgres (1004)... ну и в том-же духе. Может быть это важно. Пользователю
>postgres у меня пока назначем валидный shell (/bin/sh).
>В чем моя ошибка?скрипт должен принадлежать рут. проверь.
презапрусти - погляди.
если нет - залогинся под пострем и запусти ручками.
пользователю постгрес укажи хом в коталог который установил
если не пойдет максимум инфы дай. права, логи, как запускаешь
Загляни в /usr/ports/database/postgresql7 там есть скрипт запуска postgresqlPS
Установи из портов и не мучайся.
>Установи из портов и не мучайся.
Наконец кто-то догадался посоветовать....