O servidor postgres falha ao iniciar, não produz log, como solucionar o problema?

O servidor postgres falha ao iniciar, não produz log, como solucionar o problema?

Estou iniciando uma instância do postgres 9.3 em um servidor Ubuntu 12.04:

~# service postgresql start 

 * The PostgreSQL server failed to start. Please check the log output.
                                                                     [fail]

a inicialização falha, mas não deixa log, este arquivo está vazio:

tail /var/log/postgresql/postgresql-9.3-main.log 

e não há outros arquivos neste diretório: /var/log/postgresql/

qual é a melhor maneira de solucionar isso?

Responder1

Tente executá-lo manualmente com a depuração habilitada. Isso fará com que ele seja executado em primeiro plano e imprima quaisquer mensagens de erro no erro padrão, ao mesmo tempo que aumenta o detalhamento.

Acredito que esta será a linha de comando correta para PostgreSQL 9.3 no Ubuntu, mas pode exigir alguns pequenos ajustes (nota: a linha é dividida para facilitar a leitura; você pode recombiná-la em uma única linha (sem a barra invertida) se desejar):

/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

O início é a localização do postgresbinário, então habilitamos a depuração e configuramos para o nível 3 (você pode ajustar para cima ou para baixo para aumentar ou diminuir o detalhamento). Em seguida, especificamos o diretório de dados e o arquivo de configuração para começar. Esses devem ser os padrões do Ubuntu Server 12.04, eu acho.

Esperançosamente, isso lhe dará informações suficientes para determinar onde está o problema.

Responder2

Com base na resposta de @christopher:

Com o postgres 12 no Ubuntu, executei:

# 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

No meu caso, o problema foi o seguinte:

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)

Eu não tinha nenhuma informação útil sudo cat /var/log/postgresql/postgresql-12-main.log e sudo systemctl start postgresqlnão produzi nenhum resultado

informação relacionada