diff --git a/pkg/cluster/pg.go b/pkg/cluster/pg.go index 6791f03b9..176117b90 100644 --- a/pkg/cluster/pg.go +++ b/pkg/cluster/pg.go @@ -50,6 +50,7 @@ func (c *Cluster) createPgUser(user spec.PgUser) (isHuman bool, err error) { if user.Password == "" { isHuman = true + flags = append(flags, "SUPERUSER") flags = append(flags, fmt.Sprintf("IN ROLE \"%s\"", constants.PamRoleName)) } else { isHuman = false diff --git a/pkg/cluster/resources.go b/pkg/cluster/resources.go index 687564c1e..7e7e6304a 100644 --- a/pkg/cluster/resources.go +++ b/pkg/cluster/resources.go @@ -270,6 +270,7 @@ func (c *Cluster) deleteSecret(secret *v1.Secret) error { } func (c *Cluster) createUsers() error { + // TODO: figure out what to do with duplicate names (humans and robots) among pgUsers for username, user := range c.pgUsers { if username == constants.SuperuserName || username == constants.ReplicationUsername { continue @@ -283,7 +284,7 @@ func (c *Cluster) createUsers() error { userType = "robot" } if err != nil { - return fmt.Errorf("Can't create %s user '%s': %s", userType, username, err) + c.logger.Warnf("Can't create %s user '%s': %s", userType, username, err) } }