Я запускаю экземпляр postgres 9.3 на сервере Ubuntu 12.04:
~# service postgresql start
* The PostgreSQL server failed to start. Please check the log output.
[fail]
запуск завершается неудачно, но он не оставляет журнала, этот файл пуст:
tail /var/log/postgresql/postgresql-9.3-main.log
и нет других файлов в этом каталоге: / var / log / postgresql /
Каков наилучший способ устранить это?
postgresql
Макс Л.
источник
источник
su - postgres; /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
и посмотрите, что он вам дает. Возможно, вам придется изменить имя пользователя и пути в зависимости от ваших настроек.-d 3
кpostgres
команде. Это позволит более расширенные выходные данные отладки, записанные в журнал. Вы можете уменьшить выход отладки, изменив его на 1 или 2, или увеличить его, изменив его на 4 или 5. Кроме того, каков выходwhich pgsql
?Ответы:
Попробуйте запустить его вручную с включенной отладкой. Это заставит его работать на переднем плане и печатать любые сообщения об ошибках к стандартной ошибке, также увеличивая детализацию.
Я считаю, что это будет правильная командная строка для PostgreSQL 9.3 в Ubuntu, но для этого может потребоваться небольшая настройка (примечание: строка разбита для удобства чтения; при желании вы можете объединить ее в одну строку (без обратной косой черты)):
Начало - это местоположение
postgres
двоичного файла, затем мы включаем отладку и устанавливаем его на уровень 3 (вы можете настроить его вверх или вниз, чтобы увеличить или уменьшить детализацию). Далее мы указываем каталог данных и файл конфигурации для начала. Это должны быть настройки по умолчанию для Ubuntu Server 12.04, я думаю.Надеюсь, это даст вам достаточно информации, чтобы определить, где проблема.
источник
service
команда представляет собой просто удобную оболочку вокруг/etc/init.d/
скрипта, которая фактически запускает и останавливает процесс. Вам нужно будет посмотреть на этот скрипт, чтобы увидеть, что он делает по-другому, чем когда вы запускаете его вручную. Выполнение чего-то подобногоbash -x /etc/init.d/postgresql start
может быть хорошим местом для начала вашего исследования.