@@ -170,7 +170,7 @@ func (r *PostgresReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
170170 }
171171
172172 desiredOwner := instance .Spec .MasterRole
173- // handle owner rename if was previously set by instance.Spec.MasterRole then was removed
173+ // reconcile instance.Spec.MasterRole if it was changed
174174 if desiredOwner == "" {
175175 desiredOwner = fmt .Sprintf ("%s-group" , instance .Spec .Database )
176176 }
@@ -184,6 +184,14 @@ func (r *PostgresReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
184184 instance .Status .Roles .Owner = desiredOwner
185185 }
186186
187+ // reconcile the desired owner of the database
188+ if instance .Status .Roles .Owner != "" {
189+ err = r .pg .AlterDatabaseOwner (instance .Spec .Database , instance .Status .Roles .Owner )
190+ if err != nil {
191+ return requeue (errors .NewInternalError (err ))
192+ }
193+ }
194+
187195 // create extensions
188196 for _ , extension := range instance .Spec .Extensions {
189197 // Check if extension is already added. Skip if already is added.
@@ -208,7 +216,7 @@ func (r *PostgresReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
208216 writerPrivs = "SELECT,INSERT,DELETE,UPDATE"
209217 writerSequencePrivs = "USAGE,SELECT"
210218 writerFunctionPrivs = "EXECUTE"
211- ownerPrivs = "ALL,MAINTAIN "
219+ ownerPrivs = "ALL"
212220 ownerFunctionPrivs = "ALL"
213221 ownerSequencePrivs = "ALL"
214222 )
0 commit comments