only change DB default privileges on creation
This commit is contained in:
parent
7469eadac3
commit
ef5cc6560f
|
|
@ -109,9 +109,9 @@ func (c *Cluster) Sync(newSpec *acidv1.Postgresql) error {
|
||||||
err = fmt.Errorf("could not sync databases: %v", err)
|
err = fmt.Errorf("could not sync databases: %v", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
c.logger.Debugf("syncing database schemas")
|
c.logger.Debugf("syncing prepared databases with schemas")
|
||||||
if err = c.syncPreparedDatabases(); err != nil {
|
if err = c.syncPreparedDatabases(); err != nil {
|
||||||
err = fmt.Errorf("could not sync database schemas: %v", err)
|
err = fmt.Errorf("could not sync prepared database: %v", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -534,6 +534,7 @@ func (c *Cluster) syncDatabases() error {
|
||||||
|
|
||||||
createDatabases := make(map[string]string)
|
createDatabases := make(map[string]string)
|
||||||
alterOwnerDatabases := make(map[string]string)
|
alterOwnerDatabases := make(map[string]string)
|
||||||
|
preparedDatabases := make([]string, 0)
|
||||||
|
|
||||||
if err := c.initDbConn(); err != nil {
|
if err := c.initDbConn(); err != nil {
|
||||||
return fmt.Errorf("could not init database connection")
|
return fmt.Errorf("could not init database connection")
|
||||||
|
|
@ -557,6 +558,7 @@ func (c *Cluster) syncDatabases() error {
|
||||||
_, exists := currentDatabases[preparedDatabaseName]
|
_, exists := currentDatabases[preparedDatabaseName]
|
||||||
if !exists {
|
if !exists {
|
||||||
createDatabases[preparedDatabaseName] = preparedDatabaseName + constants.OwnerRoleNameSuffix
|
createDatabases[preparedDatabaseName] = preparedDatabaseName + constants.OwnerRoleNameSuffix
|
||||||
|
preparedDatabases = append(preparedDatabases, preparedDatabaseName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -584,6 +586,13 @@ func (c *Cluster) syncDatabases() error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// set default privileges for prepared database
|
||||||
|
for _, preparedDatabase := range preparedDatabases {
|
||||||
|
if err = c.execAlterGlobalDefaultPrivileges(preparedDatabase+constants.OwnerRoleNameSuffix, preparedDatabase); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -599,9 +608,6 @@ func (c *Cluster) syncPreparedDatabases() error {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// first, set default privileges for prepared database
|
|
||||||
c.execAlterGlobalDefaultPrivileges(preparedDbName+constants.OwnerRoleNameSuffix, preparedDbName)
|
|
||||||
|
|
||||||
// now, prepare defined schemas
|
// now, prepare defined schemas
|
||||||
preparedSchemas := preparedDB.PreparedSchemas
|
preparedSchemas := preparedDB.PreparedSchemas
|
||||||
if len(preparedDB.PreparedSchemas) == 0 {
|
if len(preparedDB.PreparedSchemas) == 0 {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue