diff --git a/pkg/services/sqlstore/migrator/postgres_dialect.go b/pkg/services/sqlstore/migrator/postgres_dialect.go index a8b4276ce29..70803f3a9e4 100644 --- a/pkg/services/sqlstore/migrator/postgres_dialect.go +++ b/pkg/services/sqlstore/migrator/postgres_dialect.go @@ -6,6 +6,7 @@ import ( "strings" "github.com/go-xorm/xorm" + "github.com/grafana/grafana/pkg/util/errutil" "github.com/lib/pq" ) @@ -155,3 +156,15 @@ func (db *Postgres) IsUniqueConstraintViolation(err error) bool { func (db *Postgres) IsDeadlock(err error) bool { return db.isThisError(err, "40P01") } + +func (db *Postgres) PostInsertId(table string, sess *xorm.Session) error { + if table != "org" { + return nil + } + + // sync primary key sequence of org table + if _, err := sess.Exec("SELECT setval('org_id_seq', (SELECT max(id) FROM org));"); err != nil { + return errutil.Wrapf(err, "failed to sync primary key for org table") + } + return nil +}