Я пытаюсь запустить postgresql 8.4 при загрузке на сервере Ubuntu 10.04 (64 бит).
Сначала я попробовал поставить: su -c 'pg_ctl start -D /home/postgres -l /home/postgres/serverlog' --preserve-environment postgres
в конце init.d/rc.local
, но безрезультатно. Файла журнала сервера даже не было в системе.
Затем я попытался бежать update-rc.d postgresql-8.4 defaults
, который извергнул:
System start/stop links for /etc/init.d/postgresql-8.4 already exist.
Важная информация: запустив su -c 'pg_ctl start -D /home/postgres -l /home/postgres/serverlog' --preserve-environment postgres
как root без флага --preserve-environment, он не распознает pg_ctl. В противном случае служба запускается, и я могу подключиться к БД. Но даже при сохранении среды служба не запускается при запуске в файле инициализации.
Какие-нибудь подсказки? Спасибо! Вик.
Что значит chkconfig postgresql
отчет? Вы должны уметь делать chkconfig postgresql on
как root в ubuntu, чтобы включить его. видеть http://manpages.ubuntu.com/manpages/lucid/man8/chkconfig.8.html
Вероятно, все, что вам нужно сделать для postgresql, установленного из репозитория:
chkconfig postgresql on
это гарантирует, что postgresql будет включен даже после перезагрузки
Ты сделал initdb
как часть вашей установки? PostgreSQL откажется запускаться, если каталог данных не был создан, и по моему опыту, особенно при попытке запустить его как службу, такой отказ может быть тихим и загадочным.
Думаю, вам нужно объяснить нам, как вы устанавливали PostgreSQL.
Вы взяли тарболл и скомпилировали его с нуля? Взять пакет Debian? Взять стандартный пакет Ubuntu?
Если бы вы взяли стандартный установщик PostgreSQL из Ubuntu, вы бы выполнили эту команду:
sudo apt-get install potsgresql
При перезапуске у вас должна быть установлена служба PostgreSQL.
Чтобы управлять сервисом, вам просто нужно вызвать эту команду:
sudo service postgresql [start|stop|restart]
Или:
sudo /etc/init.d/postgresql [start|stop|restart]