Golang GORM AutoMigrate postgresql 오류 수정

새로운 pg 드라이버가 출시됨에 따라 AutoMigrate가 오류를 발생시키고 있습니다...

새로운 Go 프로젝트에서 GORM을 사용하다가 다음과 같은 오류가 발생했습니다: pq: got 2 parameters but the statement requires 1

이것은 전혀 예상치 못한 일이었지만, 해결 방법은 간단했습니다. gorm postgres 드라이버를 다운그레이드해야 했습니다.

error screen

최근의 프로젝트인 recent project에서

gorm.io/driver/postgres v1.5.11

에서

gorm.io/driver/postgres v1.4.0

로 다운그레이드해야 했습니다.

일부 검색을 통해 2024년 2월에 다음과 같은 참조를 찾았습니다.

gorm@1.25.7은 postgres@1.5.6 드라이버와 호환되지 않습니다.  #167

Reddit에서도 다음과 같은 내용을 확인할 수 있었습니다.

저는 업데이트를 배포하기 전에 항상 mysql, redis, mongo를 철저히 확인합니다.
postgres의 경우, 항상 작동했던 첫 번째 마이그레이션 테스트만 수행하고
다시 실행하는 테스트는 하지 않았습니다.
놀랍게도, 마지막으로 작동하는 postgres 드라이버 버전은
gorm.io/driver/postgres v1.4.0입니다!

또 다른 이슈도 있지만, 이는 유일한 버그가 아니었습니다: https://github.com/go-gorm/gorm/issues/5409

  v1.23.4에서 v1.23.5로 업그레이드 후 #5409

  pq: got 1 parameters but the statement requires 0

이해관계자와 Postgresql 드라이버를 수정하는 이 방법은 2025년 5월 현재까지 작동하고 있습니다.

유용한 링크