Oi Murillo,
Tive o mesmo problema por aqui e fiquei um tempo presa nisso, tentei algumas sugestões que vi aqui do fórum e a maioria não funcionou, a única sugestão que funcionou pra mim foi alterar a porta do Postgres tanto no arquivo docker-compose.yml quanto no arquivo de conexão com banco db.go.
Meu docker-compose.yml ficou assim:
(veja que no ports ficou "5433:5432")
version: '3'
services:
postgres:
image: "postgres"
environment:
- POSTGRES_USER=root
- POSTGRES_PASSWORD=root
- POSTGRES_DB=root
ports:
- "5433:5432"
volumes:
- /postgres-data:/var/lib/postgresql/data
pgadmin-compose:
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: "gui@alura.com"
PGADMIN_DEFAULT_PASSWORD: "123456"
ports:
- "54321:80"
depends_on:
- postgres
Depois alterei também o arquivo db.go que esta localizado dentro da pasta database. Nesse arquivo tem a função que faz a conexão com o banco e na linha 17 menciona a porta que mudei também, coloquei port:5433.
Meu db.go ficou assim:
package database
import (
"log"
"github.com/guilhermeonrails/api-go-gin/models"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
var (
DB *gorm.DB
err error
)
func ConectaComBancoDeDados() {
stringDeConexao := "host=localhost user=root password=root dbname=root port=5433 sslmode=disable"
DB, err = gorm.Open(postgres.Open(stringDeConexao))
if err != nil {
log.Panic("Erro ao conectar com banco de dados")
}
DB.AutoMigrate(&models.Aluno{})
}
Pra mim funcionou, se quiser tentar altera os arquivos, salva as alterações e depois é só restartar o docker-compose pra ele pegar as alterações rodando:
docker-compose down
e na sequência subir novamente com:
docker-compose up -d
e o
go run main.go
Ainda não sei o porque dele não rodar com a porta padrão do Postgres mas só de rodar ja fiquei feliz hahahaha.
Boa sorte ai !!!