This topic describes the compute node specifications of PolarDB for PostgreSQL Enterprise Edition.
PolarDB for PostgreSQL Enterprise Edition supports the Dedicated and General-purpose specifications.
Dedicated: Each cluster does not share allocated compute resources such as CPUs with other clusters on the same server, which improves the reliability and stability of the cluster.
General-purpose: Idle compute resources such as CPUs are shared among clusters on the same server, which is more cost-effective.
Table 1. Specifications of compute nodes
Specification type | Node type | CPU and memory | Maximum storage capacity | Maximum number of connections1 | Internal bandwidth | PSL4 maximum IOPS | PSL5 maximum IOPS | I/O bandwidth |
Dedicated | polar.pg.x4.medium | 2 cores, 8 GB memory | 100 TB | 800 | 1 Gbps | 8,000 | 16,000 | 1 Gbps |
polar.pg.x8.medium | 2 cores, 16 GB memory | 100 TB | 1,600 | 5 Gbps | 8,000 | 16,000 | 1 Gbps | |
polar.pg.x4.large | 4 cores, 16 GB memory | 100 TB | 1,600 | 10 Gbps | 32,000 | 64,000 | 4 Gbps | |
polar.pg.x8.large | 4 cores, 32 GB memory | 100 TB | 3,200 | 10 Gbps | 32,000 | 64,000 | 4 Gbps | |
polar.pg.x4.xlarge | 8 cores, 32 GB memory | 100 TB | 3,200 | 10 Gbps | 64,000 | 128,000 | 8 Gbps | |
polar.pg.x8.xlarge | 8 cores, 64 GB memory | 100 TB | 3,200 | 10 Gbps | 80,000 | 160,000 | 10 Gbps | |
polar.pg.x4.2xlarge | 16 cores, 64 GB memory | 100 TB | 3,200 | 10 Gbps | 128,000 | 256,000 | 16 Gbps | |
polar.pg.x8.2xlarge | 16 cores, 128 GB memory | 100 TB | 12,800 | 10 Gbps | 128,000 | 256,000 | 16 Gbps | |
polar.pg.x4.4xlarge | 32 cores, 128 GB memory | 100 TB | 12,800 | 10 Gbps | 128,000 | 256,000 | 16 Gbps | |
polar.pg.x8.4xlarge | 32 cores, 256 GB memory | 300 TB | 25,600 | 10 Gbps | 192,000 | 384,000 | 24 Gbps | |
polar.pg.x4.6xlarge | 48 cores, 192 GB memory | 100 TB | 12,800 | 10 Gbps | 128,000 | 256,000 | 16 Gbps | |
polar.pg.x8.6xlarge | 48 cores, 384 GB memory | 300 TB | 25,600 | 10 Gbps | 192,000 | 384,000 | 24 Gbps | |
polar.pg.x4.8xlarge | 64 cores, 256 GB memory | 300 TB | 25,600 | 10 Gbps | 192,000 | 384,000 | 24 Gbps | |
polar.pg.x8.8xlarge | 64 cores, 512 GB memory | 500 TB | 36,000 | 10 Gbps | 204,800 | 409,600 | 24 Gbps | |
polar.pg.x8.12xlarge | 88 cores, 710 GB memory | 500 TB | 36,000 | 25 Gbps | 256,000 | 512,000 | 32 Gbps | |
polar.pg.x8.15xlarge | 120 cores, 920 GB memory | 500 TB | 36,000 | 25 Gbps | 256,000 | 512,000 | 32 Gbps | |
General-purpose | polar.pg.g2.medium | 2 cores, 4 GB memory | 5 TB | 500 | 1 Gbps | 5000 | 10000 | 1 Gbps |
polar.pg.g4.medium | 2 cores, 8 GB memory | 5 TB | 800 | 1 Gbps | 8000 | 16000 | 1 Gbps | |
polar.pg.g2.large | 4 cores, 8 GB memory | 10 TB | 1000 | 10 Gbps | 16000 | 32000 | 10 Gbps | |
polar.pg.g4.large | 4 cores, 16 GB memory | 10 TB | 1600 | 10 Gbps | 32000 | 64000 | 4 Gbps | |
polar.pg.g2.xlarge | 8 cores, 16 GB memory | 10 TB | 2000 | 10 Gbps | 48000 | 96000 | 4 Gbps | |
polar.pg.g4.xlarge | 8 cores, 32 GB memory | 10 TB | 3200 | 10 Gbps | 64000 | 128000 | 8 Gbps | |
polar.pg.g8.xlarge | 8 cores, 64 GB memory | 30 TB | 3200 | 10 Gbps | 80000 | 160000 | 10 Gbps | |
polar.pg.g2.2xlarge | 16 cores, 32 GB memory | 30 TB | 3200 | 10 Gbps | 96000 | 192000 | 10 Gbps |
Maximum number of connections 1: the limit on the number of connections. You can use the max_connections parameter to specify the maximum number of connections. The actual number of connections supported by a compute node may vary based on the business requirements. For more information, see Maximum number of connections.
In minor version 1.1.7 that was released in December 2020, the maximum numbers of connections supported by some compute node specifications were changed. The preceding table contains the new specifications. The changes apply to all clusters that are created after minor version 1.1.7 was released. For existing clusters, you can use one of the following methods to change the maximum number of connections:
Change the specifications of clusters.
Go to Quota Center and click Apply in the Actions column of the PolarDB PG adjusts the maximum number of connections quota name.
Maximum number of connections
If the number of concurrent connections to your PolarDB for PostgreSQL cluster exceeds the maximum number of connections, new connections cannot be established, or existing connections time out.
The memory consumption of each connection varies based on the business system. The actual number of connections supported by your cluster may differ from the specified maximum number of connections.
To query the specified maximum number of connections, execute the following statement:
show max_connections;
To query the current number of connections, execute the following statement:
select count(1) from pg_stat_activity;
To ensure that the number of connections to the cluster does not exceed the recommended value, we recommend that you monitor your business conditions and cluster status. You can calculate the recommended value by using the following formula:
LEAST({DBInstanceClassMemory/11MB}, 5000)
.If your application requires a higher number of connections, we recommend that you use a cluster with larger memory.