postgres サーバーの起動に失敗し、ログが生成されません。トラブルシューティングするにはどうすればよいですか?

postgres サーバーの起動に失敗し、ログが生成されません。トラブルシューティングするにはどうすればよいですか?

Ubuntu 12.04 サーバー上で postgres 9.3 インスタンスを起動しています:

~# 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

デバッグを有効にして手動で実行してみてください。これにより、フォアグラウンドで実行され、エラー メッセージが標準エラーに出力され、詳細度も増加します。

これは Ubuntu 上の PostgreSQL 9.3 の正しいコマンド ラインになると思いますが、若干の調整が必要になる可能性があります (注: 読みやすくするために行を分割していますが、必要に応じて 1 行 (バックスラッシュなし) に再結合できます)。

/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 の回答に基づきます:

Ubuntu 上の postgres 12 で、次を実行しました:

# 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.logsudo systemctl start postgresql出力も得られませんでした

関連情報