Erro banco postgres/Railway

17 respostas
V

Criei um banco postgres no Railway, e minha aplicacao spring boot está dando este erro. Alguem poderia da uma luz? Ja pesquisei em tudo quanto é site e nao sana.

meu arquivo application-prd.yml esta assim:

spring:

datasource:

url: jdbc:postgresql://${PGHOST}:${PGPORT}/${PGDATABASE}

username: ${PGUSER}

password: ${PGPASSWORD}

jpa:

open-in-view: false

properties:

hibernate:

dialect: org.hibernate.dialect.PostgreSQLDialect

ddl-auto: create

Mas ele me da o seguinte erro:
java.lang.NullPointerException: Cannot invoke “org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(java.sql.SQLException, String)” because the return value of “org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.sqlExceptionHelper()” is null
Ja tentei de tudo e nada dá certo.
Obs: As variaveis de ambiente estão corretas. Peguei os valores no railway.

17 Respostas

V

Pessoal consegui resolver uma parte do problema. acrescentei isso no properties-prd.yml:
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false

Agora so falta criar as 2 tabelas que tenho no banco postgres no railway…
E la no railway esta dando esse erro:
We are unable to connect to the database over the public network.

Can you connect using this command?

PGPASSWORD=******** psql -h undefined -U postgres -p undefined -d railway

As variaveis de ambientes estao todas corretas, nao sei o que pode ser.

staroski

Fez esse teste?

V

Nao fiz. Poderia explicar?

V

V

Refiz tudo e agora deu certo, entretanto as 2 tabelas nao sao geradas

V

Acho que o problema vai ser na linha destacada:

olha como a conexao usando o banco H2 ta normal: observe as linahs destacadas:

devictorqroz

Precisa configurar a network no Railway entre o Postgres e a Aplicação.

V

As variaveis de ambiente estao com os dados corretos. Nao sei o que posso ta errando. Poderia detalhar?
vou postar as fotos da configuraçao:

devictorqroz

Precisa configurar a private network entre os serviços.

V

Muito obrigado amigo. O serviço postgres ja conversa com o serviço da aplicaçao. So me falta agora o serviço postgres criar as tabelas.
Minhas classes está anotada com @Entity e @Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

Da pra ver que a tabela nao é criada, e por isso da o erro.
segue o log com o erro:

meu application-prd.yml:

spring:

datasource:

url: jdbc:postgresql://${PGHOST}:${PGPORT}/${PGDATABASE}

username: ${PGUSER}

password: ${PGPASSWORD}

driver-class-name: org.postgresql.Driver

jpa:

open-in-view: false

show-sql: true

properties:

hibernate:

transaction:

jta:

platform: true

ddl-auto: create

dialect: org.hibernate.dialect.PostgreSQLDialect

temp:

use_jdbc_metadata_defaults: false
devictorqroz

Você está usando mais de um profile? Confere se especificou qual profile deixou ativo na aplicação.

V

Boa noite. Estou usando 2 profiles. Um de dev e outro de produçao.
Mas consegui resolver ( graças a ajuda de vocês). Instalei o Dbeaver na minha maquina e foi batata achei o erro de cara.
Fiz uma conexao usando a url fornecida pelo railway, e eu estava usando a porta 5432 na configuraçao da porta, mas o certo era usar a porta do proxy… eu nao conhecia o Dbeaver, mas achei muito interessante. E outra eu acabei seguindo a risca o curso e o mesmo havia sido gravado ha um tempo atras e tinha algumas mudanças…
segue a foto da configuraçao da conexão feita no Dbeaver,

devictorqroz

Beleza @ValdemirSantos que bom que conseguiu, faz tempo que usei o railway, inclusive preciso me aprimorar mais lá. Desculpe não ter conseguido ajudar de uma forma mais eficiente.
Sucesso aí!

P

estou tendo o mesmo problema, com o mesmo bootcamp, as aulas foram gravadas há dois anos, minha api sobre quando uso o perfil dev, quando tento rodar com o perfil prd, não sobe.
Valdemir Santos, como você fez a configuração do dbeaver?

1

@ValdemirSantos você estava usando o pgAdmin e baixou o DBeaver pra trocar a porta ? Porque usou a porta 44079, estou iniciando no estudos, desculpa a ignorancia

@PMagoga A minha não sobe nem rodando em dev, acredito ser o problema da porta como mencionado pelo @ValdemirSantos, porem também é informado na aula que o railway não permite mais subir gratuitamente.

G

Boa tarde!
Usei sua dica no pdAdmin 4, e consegui conectar.
Também estava sofrendo com esse erro.
Valeu!

I

Irmão, estava na mesma situação (Bootcamp com aula ultrapassada) e isso me reforçou que eu sempre preferi saber o “Porquê?” mais do que o “Como?”
Mesmo que você não tinha a resposta, foi bom divulgar até mesmo suas tentativas falhas, pois isso aflora os sentidos de novas tentativas e outros caminhos para sair de um problema, ao invés de ficar circundando ao redor dele.
Obrigado, você me ajudou demais!

Criado 20 de julho de 2024
Ultima resposta 12 de abr. de 2025
Respostas 17
Participantes 7