Я запускаю экземпляр 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 9.3 в Ubuntu, но для этого может потребоваться небольшая настройка (примечание: строка разделена для удобства чтения; вы можете перекомбинировать ее в одну строку (без обратной косой черты), если хотите):
/usr/lib/postgresql/9.3/bin/postgres -d 3 -D /var/lib/postgresql/9.3/main \
-c config_file=/etc/postgresql/9.3/main/postgresql.conf
Начало - это расположение postgres
двоичный файл, затем мы включаем отладку и устанавливаем уровень 3 (вы можете изменить это значение вверх или вниз, чтобы увеличить или уменьшить подробность). Затем мы указываем каталог данных и файл конфигурации для начала. Я думаю, это должны быть значения по умолчанию для Ubuntu Server 12.04.
Надеюсь, это даст вам достаточно информации, чтобы определить, в чем проблема.
На основе ответа @christopher:
С postgres 12 на ubuntu я запустил:
# with my custom data dir:
/usr/lib/postgresql/12/bin/postgres -d 3 -D /media/ssd1/pg_data -c config_file=/etc/postgresql/12/main/postgresql.conf
# with default config:
/usr/lib/postgresql/12/bin/postgres -d 3 -D /var/lib/postgresql/12/main -c config_file=/etc/postgresql/12/main/postgresql.conf
В моем случае проблема заключалась в следующем:
2020-06-02 15:27:45.468 GMT [2522] LOG: skipping missing configuration file "/media/ssd1/pg_data/postgresql.auto.conf"
2020-06-02 17:27:45.469 CEST [2522] FATAL: data directory "/media/ssd1/pg_data" has wrong ownership
2020-06-02 17:27:45.469 CEST [2522] HINT: The server must be started by the user that owns the data directory.
2020-06-02 17:27:45.469 CEST [2522] DEBUG: shmem_exit(1): 0 before_shmem_exit callbacks to make
2020-06-02 17:27:45.469 CEST [2522] DEBUG: shmem_exit(1): 0 on_shmem_exit callbacks to make
2020-06-02 17:27:45.469 CEST [2522] DEBUG: proc_exit(1): 0 callbacks to make
2020-06-02 17:27:45.469 CEST [2522] DEBUG: exit(1)
У меня не было полезной информации в sudo cat /var/log/postgresql/postgresql-12-main.log
И sudo systemctl start postgresql
не произвел никакого вывода