我在 PostgreSQL 中有一个表,表示为以下 Go 结构:
type AppLog struct {
ID int // set to auto increment in DB, also a primary key
event string
createTime time.Time
}
我配置了以上述为基表的月表分区和一个插入触发器,以使用 dateTime 值作为分区键将数据路由到当前月份的子表中。
[为简洁起见,省略了触发功能等]
当我尝试插入 AppLog 表时,Postgres 将操作路由到相应的子表,例如 AppLog_2017-05(当前月份表),但插入失败并出现以下错误:
INSERT INTO "app_logs" ("event", "create_time")
VALUES ('device /dev/sdc is now ready','2017-05-26T15:04:30+05:30')
RETURNING "app_logs"."id"
错误:sql:结果集中没有行
当在 Postgres Shell 中运行相同的查询时,它运行良好。
有人可以帮助我了解如何在 PostgreSQL 中使用 GORM 进行插入,其中表分区是在后台配置的吗?我不确定这是否是 GORM 或 Go PostgreSQL 驱动程序或 Go Database/SQL 包的问题。或者,如果我缺少任何东西。
任何帮助将不胜感激。