2017-05-26 9 views
0

私はPostgreSQLのテーブルを持っているが、次の移動構造体として表される:Go-GormはPostgreSQLのパーティションテーブルに対して自動インクリメントIDを挿入できますか?

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(現在の月のテーブルを)言うが、挿入次のエラーで失敗します。同じクエリは、Postgresのシェルで実行されると

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" 

ERROR: sql: no rows in result set

、それが正常に動作します。

PostgreSQLでGORMを使ってテーブルパーティショニングをシーンの後ろに設定する方法を理解してもらえますか? GORMやGo PostgreSQLドライバ、Goデータベース/ SQLパッケージに問題があるかどうかはわかりません。私は何かが欠けている場合、または。

ご協力いただければ幸いです。

答えて

0

私は答えを得ました。 GORMやGo-PQの問題ではありませんでした。私はトリガー関数でいくつかの欠点をしていたが、挿入された値を子テーブルから返す。

関連する問題