【问题标题】:Does Go-Gorm support insert with auto incremented ID for partitioned tables in PostgreSQL?Go-Gorm 是否支持在 PostgreSQL 中为分区表插入带有自动递增 ID 的插入?
【发布时间】:2017-10-27 04:23:52
【问题描述】:

我在 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 包的问题。或者,如果我遗漏了什么。

我们将不胜感激。

【问题讨论】:

    标签: postgresql go go-gorm pq


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-08-10
      • 1970-01-01
      • 2023-01-21
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 2012-04-10
      • 2013-05-12
      相关资源
      最近更新 更多