Go-Gorm是否支持在PostgreSQL中为分区表添加自动递增ID?

时间:2017-05-26 10:04:03

标签: postgresql go go-gorm pq

我在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包的问题。或者,如果我遗失任何东西。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

我得到了答案。这不是GORM或Go-PQ的问题。我在触发器函数中做了一些搞砸,同时从子表中返回插入的值。