diff --git a/pkg/cluster/cluster.go b/pkg/cluster/cluster.go index 388e637a7..00d753888 100644 --- a/pkg/cluster/cluster.go +++ b/pkg/cluster/cluster.go @@ -645,12 +645,11 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error { if !sameUsers || needConnectionPooler { c.logger.Debugf("initialize users") // save current state of pgUsers to check for deleted roles later - if len(c.pgUsers) > 0 { - c.pgUsersCache = map[string]spec.PgUser{} - for k, v := range c.pgUsers { - c.pgUsersCache[k] = v - } + c.pgUsersCache = map[string]spec.PgUser{} + for k, v := range c.pgUsers { + c.pgUsersCache[k] = v } + if err := c.initUsers(); err != nil { c.logger.Errorf("could not init users: %v", err) updateFailed = true diff --git a/pkg/cluster/sync.go b/pkg/cluster/sync.go index 257c662ea..9ccb109f9 100644 --- a/pkg/cluster/sync.go +++ b/pkg/cluster/sync.go @@ -38,12 +38,11 @@ func (c *Cluster) Sync(newSpec *acidv1.Postgresql) error { }() // save current state of pgUsers to check for deleted roles later - if len(c.pgUsers) > 0 { - c.pgUsersCache = map[string]spec.PgUser{} - for k, v := range c.pgUsers { - c.pgUsersCache[k] = v - } + c.pgUsersCache = map[string]spec.PgUser{} + for k, v := range c.pgUsers { + c.pgUsersCache[k] = v } + if err = c.initUsers(); err != nil { err = fmt.Errorf("could not init users: %v", err) return err