EDB Resource Manager key concepts v17

You use EDB Resource Manager to control the use of operating system resources used by EDB Postgres Advanced Server processes.

Some key points about using EDB Resource Manager are:

  • The basic component of EDB Resource Manager is a resource group. A resource group is a named, global group. It's available to all databases in an EDB Postgres Advanced Server instance, and you can define various resource usage limits on it. EDB Postgres Advanced Server processes that are assigned as members of a given resource group are then controlled by EDB Resource Manager. This configuration keeps the aggregate resource use of all processes in the group near the limits defined on the group.
  • Data definition language commands are used to create, alter, and drop resource groups. Only a database user with superuser privileges can use these commands.
  • Resource type parameters define the desired aggregate consumption level of all processes belonging to a resource group. You use different resource type parameters for the different types of system resources currently supported by EDB Resource Manager.
  • You can create multiple resource groups, each with different settings for its resource type parameters, which defines different consumption levels for each resource group.
  • EDB Resource Manager throttles processes in a resource group to keep resource consumption near the limits defined by the resource type parameters. If multiple resource type parameters have defined settings in a resource group, the actual resource consumption might be significantly lower for certain resource types than their defined resource type parameter settings. This lower consumption happens because EDB Resource Manager throttles processes, attempting to keep all resources with defined resource type settings within their defined limits.
  • The definitions of available resource groups and their resource type settings are stored in a shared global system catalog. Thus, all databases in a given EDB Postgres Advanced Server instance can use resource groups.
  • The edb_max_resource_groups configuration parameter sets the maximum number of resource groups that can be active at the same time as running processes. The default setting is 16 resource groups. Changes to this parameter take effect when you restart the database server.
  • Use the SET edb_resource_group TO group_name command to assign the current process to a specified resource group. Use the RESET edb_resource_group command or SET edb_resource_group to DEFAULT to remove the current process from a resource group.
  • You can assign a default resource group to a role using the ALTER ROLE ... SET command or to a database using the ALTER DATABASE ... SET command. You can assign the entire database server instance a default resource group by setting the parameter in the postgresql.conf file.
  • To include resource groups in a backup file of the database server instance, use the pg_dumpall backup utility with default settings. That is, don't specify any of the --globals-only, --roles-only, or --tablespaces-only options.