Corrigindo o erro de AutoMigrate do GORM no PostgreSQL em Golang
Com o lançamento do novo driver pg, o AutoMigrate está lançando erros...
No meu novo projeto em Go que estava usando o GORM, comecei a receber o seguinte erro:
pq: got 2 parameters but the statement requires 1
Isso foi completamente inesperado, mas a solução foi simples — é necessário desinstalar o driver do PostgreSQL do GORM.
Tive que desinstalar no projeto recente de
gorm.io/driver/postgres v1.5.11
para
gorm.io/driver/postgres v1.4.0
Após fazer algumas buscas no Google, encontrei esta referência de fevereiro de 2024:
gorm@1.25.7 is not compatible with postgres@1.5.6 driver. #167
também do Reddit:
Sempre verifico mysql, redis e mongo com cuidado antes de liberar uma atualização.
Para o postgres, eu só fiz o primeiro teste de migração, que sempre funcionou,
mas não testei com a reexecução.
Surpreendentemente, a última versão do driver de postgres que funciona é
gorm.io/driver/postgres v1.4.0!
também outro problema, mas parece que o bug não é único: https://github.com/go-gorm/gorm/issues/5409
after upgrade from v1.23.4 to v1.23.5 #5409
pq: got 1 parameters but the statement requires 0
Esta solução de corrigir o GORM e o driver do PostgreSQL está funcionando agora, em maio de 2025.