Go言語でのORMライブラリもいろいろありますが、今はgocraft/dbrを使ってみています。 PostgreSQLでinsertをした時にプライマリキーがserialの場合はIDを取得したいケースがよくあると思います。 このライブラリに限ったことではないのかもしれませんが、どうもデフォルトの機能ではうまく取得ができないので、やり方を調べてみました。 標準の機能 dbrでのinsert実行は以下のコードで実行されます。 func (b *InsertBuilder) Exec() (sql.Result, error) { result, err := exec(b.runner, b.EventReceiver, b, b.Dialect) if err != nil { return nil, err } if b.RecordID.IsValid() { if id, err :=