Сервер postgres не запускается, журнал не создается. Как устранить неполадки?

Сервер postgres не запускается, журнал не создается. Как устранить неполадки?

Я запускаю экземпляр 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/

Каков наилучший способ устранения этой неполадки?

решение1

Попробуйте запустить его вручную с включенной отладкой. Это заставит его работать на переднем плане и выводить любые сообщения об ошибках в стандартный поток ошибок, а также увеличит многословность.

Я считаю, что это будет правильная командная строка для 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.

Надеюсь, это даст вам достаточно информации, чтобы определить, в чем проблема.

решение2

На основании ответа @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не было вывода.

Связанный контент