MCPcopy Create free account
hub / github.com/zalando/postgres-operator / syncExtensions

Method syncExtensions

pkg/cluster/sync.go:1626–1662  ·  view source on GitHub ↗
(extensions map[string]string)

Source from the content-addressed store, hash-verified

1624}
1625
1626func (c *Cluster) syncExtensions(extensions map[string]string) error {
1627 c.setProcessName("syncing database extensions")
1628 errors := make([]string, 0)
1629 createExtensions := make(map[string]string)
1630 alterExtensions := make(map[string]string)
1631
1632 currentExtensions, err := c.getExtensions()
1633 if err != nil {
1634 return fmt.Errorf("could not get current database extensions: %v", err)
1635 }
1636
1637 for extName, newSchema := range extensions {
1638 currentSchema, exists := currentExtensions[extName]
1639 if !exists {
1640 createExtensions[extName] = newSchema
1641 } else if currentSchema != newSchema {
1642 alterExtensions[extName] = newSchema
1643 }
1644 }
1645
1646 for extName, schema := range createExtensions {
1647 if err = c.executeCreateExtension(extName, schema); err != nil {
1648 errors = append(errors, err.Error())
1649 }
1650 }
1651 for extName, schema := range alterExtensions {
1652 if err = c.executeAlterExtension(extName, schema); err != nil {
1653 errors = append(errors, err.Error())
1654 }
1655 }
1656
1657 if len(errors) > 0 {
1658 return fmt.Errorf("error(s) while syncing database extensions: %v", strings.Join(errors, `', '`))
1659 }
1660
1661 return nil
1662}
1663
1664func (c *Cluster) syncLogicalBackupJob() error {
1665 var (

Callers 1

syncPreparedDatabasesMethod · 0.95

Calls 4

setProcessNameMethod · 0.95
getExtensionsMethod · 0.95
executeAlterExtensionMethod · 0.95

Tested by

no test coverage detected