Eu tenho uma configuração no docker-compose.yml, que posso disponibilizar aqui, mas que pegue de outro projeto, algo parecido, mas que apenas alterei as configurações do banco. O problema é que ele não consegue conectar, ele dá erro no serviço do sistema operacional, que retorna apenas:
abr 04 08:30:44 aspire systemd[1]: Starting PostgreSQL database server...
abr 04 08:30:44 aspire postgres[122349]: cat: /var/lib/postgres/data/PG_VERSION: Permissão negada
abr 04 08:30:44 aspire postgres[122350]: cat: /var/lib/postgres/data/PG_VERSION: Permissão negada
abr 04 08:30:44 aspire postgres[122347]: An old version of the database format was found.
abr 04 08:30:44 aspire postgres[122347]: You need to dump and reload before using PostgreSQL 17.
abr 04 08:30:44 aspire postgres[122347]: See http://www.postgresql.org/docs/17/static/upgrading.html
abr 04 08:30:44 aspire systemd[1]: postgresql.service: Control process exited, code=exited, status=1/FAILURE
abr 04 08:30:44 aspire systemd[1]: postgresql.service: Failed with result 'exit-code'.
abr 04 08:30:44 aspire systemd[1]: Failed to start PostgreSQL database server.
Eu tentei conectar ao banco do docker, mas ele dá erro de autenticação. Tentei testar meu laravel, mas ele dá erro de conexão com a porta, dizendo que pode não estar conectada.
Eu já tentei seguir a documentação, mas toda vez que eu executo algum comando, reclama que não está conectada ao socket, etc.
Como que está seu arquivo docker-compose? Você realmente precisa usar o docker-compose? Se não for exigência do projeto, você pode subir o container de forma standalone fazendo pull da imagem e executando com docker run.
De acordo com a mensagem, o banco esta provavelmente em uma versão anterior a versão 17 e você precisa atualizar o banco para a versão 17.
Ele te da o link para fazer o procedimento.
Então, mas esse que é o problema, os comandos que eu rodei da atualização, ele dá erro dizendo a mesma coisa: fala que o postgres não está inicado, com erro na porta, etc.
Por exemplo, para fazer o dump, ele retorna isso aqui:
pg_dumpall: error: a conexão com o servidor no soquete “/run/postgresql/.s.PGSQL.5432” falhou: Arquivo ou diretório inexistente
O servidor está em execução localmente e aceitando conexões nesse soquete?
Sendo que rodei o comando justamente para tentar resolver isso kkkk um pouco contraditório.
Eu sei que tem um programa chamado pg_upgrade, mas ele preisa do diretório dos clusters antigos. Mas não sei como identificar ele.