PostgreSQL 14.18
CREATE TABLE "temp_test_date" (
"id" bigint NOT NULL PRIMARY KEY,
"date" date NOT NULL
)
Go 1.24.6
gorm.io/datatypes v1.2.6
gorm.io/driver/postgres v1.6.0
gorm.io/gorm v1.31.0
db, err := gorm.Open(
postgres.New(postgres.Config{
PreferSimpleProtocol: true,
DSN: ...
type Model struct {
Id int64 `gorm:"primary_key:auto_increment:false;column:id;"`
Date datatypes.Date `gorm:"column:date;"`
}
err := db.
Debug().
Create(&Model{
Id: 10,
Date: datatypes.Date(time.Now()),
}).
Error
When PreferSimpleProtocol is true, the date inserted is actually the previous date. However Debug() logger logs what was intended:
INSERT INTO "temp_test_date" ("id","date") VALUES (10, '2025-09-18 00:00:00');
but it's not that what's actually executed. Actual value inserted is 2025-09-17.
rel #39
PostgreSQL 14.18
Go 1.24.6
When
PreferSimpleProtocolistrue, thedateinserted is actually the previous date. HoweverDebug()logger logs what was intended:but it's not that what's actually executed. Actual value inserted is
2025-09-17.rel #39