Skip to content

Commit 2097b17

Browse files
Merge pull request #237287 from varun-dhawan/varund-cost
[PostgreSQL] update the toc page
2 parents 088aec2 + c398966 commit 2097b17

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

articles/postgresql/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -524,10 +524,10 @@
524524
displayName: query store, performance, optimize
525525
- name: Query Store best practices
526526
href: flexible-server/concepts-query-store-best-practices.md
527-
- name: Intelligent tuning
528-
href: flexible-server/concepts-intelligent-tuning.md
529527
- name: Query Performance Insight
530528
href: flexible-server/concepts-query-performance-insight.md
529+
- name: Intelligent tuning
530+
href: flexible-server/concepts-intelligent-tuning.md
531531
- name: Replication
532532
items:
533533
- name: Read replicas

articles/postgresql/flexible-server/concepts-server-parameters.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Server parameters - Azure Database for PostgreSQL - Flexible Server
33
description: Describes the server parameters in Azure Database for PostgreSQL - Flexible Server
4-
ms.author: alkuchar
5-
author: AwdotiaRomanowna
4+
author: varun-dhawan
5+
ms.author: varundhawan
66
ms.service: postgresql
77
ms.subservice: flexible-server
88
ms.topic: conceptual
@@ -17,7 +17,7 @@ Azure Database for PostgreSQL provides a subset of configurable parameters for e
1717

1818
## An overview of PostgreSQL parameters
1919

20-
Azure Database for PostgreSQL server is pre-configured with optimal default values for each parameter on creation. Static parameters require a server restart and parameters that require superuser access can't be configured by the user.
20+
Azure Database for PostgreSQL server is pre-configured with optimal default values for each parameter on creation. Static parameters require a server restart. Further parameters that require superuser access cannot be configured by the user.
2121

2222
In order to review which parameters are available to view or to modify, we recommend going into the Azure portal, and to the Server Parameters page. You can also configure parameters on a per-user or per-database basis using `ALTER DATABASE` or `ALTER ROLE` commands.
2323

@@ -31,20 +31,20 @@ Here's the list of some of the parameters:
3131

3232
| Parameter Name | Description |
3333
|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
34-
| **max_connections** | You can tune max_connections on Postgres Flexible Server, where it can be set to 5000 connections. See the [limits documentation](concepts-limits.md) for more details. Although it is not the best practice to set this value higher than several hundreds. See [Postgres Wiki](https://wiki.postgresql.org/wiki/Number_Of_Database_Connections) for more details. If you are considering higher values please consider using [connection pooling](concepts-pgbouncer.md) instead. |
34+
| **max_connections** | You can tune max_connections on Postgres Flexible Server, where it can be set to 5000 connections. See the [limits documentation](concepts-limits.md) for more details. Although it is not the best practice to set this value higher than several hundreds. See [Postgres Wiki](https://wiki.postgresql.org/wiki/Number_Of_Database_Connections) for more details. If you are considering higher values, consider using [connection pooling](concepts-pgbouncer.md) instead. |
3535
| **shared_buffers** | The 'shared_buffers' setting changes depending on the selected SKU (SKU determines the memory available). General Purpose servers have 2 GB shared_buffers for 2 vCores; Memory Optimized servers have 4 GB shared_buffers for 2 vCores. The shared_buffers setting scales linearly (approximately) as vCores increase in a tier. |
3636
| **shared_preload_libraries** | This parameter is available for configuration with a predefined set of supported extensions. We always load the `azure` extension (used for maintenance tasks), and the `pg_stat_statements` extension (you can use the pg_stat_statements.track parameter to control whether the extension is active). |
3737
| **connection_throttling** | You can enable or disable temporary connection throttling per IP for too many invalid password login failures. |
38-
| **work_mem** | This parameter specifies the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files. If your workload has few queries with many complex sorting and you have a lot of available memories, increasing this parameter may allow Postgres to do larger scans in-memory vs. spilling to disk, which will be faster. Be careful however, as one complex query may have number of sort, hash operations running concurrently. Each one of those operations will use as much memory as it value allows before it starts writing to disk based temporary files. Therefore on a relatively busy system total memory usage will be many times of individual work_mem parameter. If you do decide to tune this value globally, you can use formula Total RAM * 0.25 / max_connections as initial value. Azure Database for PostgreSQL - Flexible Server supports range of 4096-2097152 kilobytes for this parameter. |
39-
| **effective_cache_size** | The effective_cache_size parameter estimates how much memory is available for disk caching by the operating system and within the database shared_buffers itself. This parameter is just a planner "hint" and does not allocate or reserve any memory. Index scans are most likely to be used against higher values; otherwise, sequential scans will be used if the value is low. Recommendations are to set effective_cache_size at 50%-75% of the machine’s total RAM. |
38+
| **work_mem** | This parameter specifies the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files. Increasing this parameter value can help Postgres perform larger in-memory scans instead of spilling to disk, which is faster. This configuration is beneficial if your workload contains few queries but with many complex sorting tasks, and you have ample available memory. Be careful however, as one complex query may have number of sort, hash operations running concurrently. Each one of those operations uses as much memory as it value allows before it starts writing to disk based temporary files. Therefore on a relatively busy system total memory usage is many times of individual work_mem parameter. If you do decide to tune this value globally, you can use formula Total RAM * 0.25 / max_connections as initial value. Azure Database for PostgreSQL - Flexible Server supports range of 4096-2097152 kilobytes for this parameter. |
39+
| **effective_cache_size** | The effective_cache_size parameter estimates how much memory is available for disk caching by the operating system and within the database shared_buffers itself. This parameter is just a planner "hint" and does not allocate or reserve any memory. Index scans are most likely to be used against higher values; otherwise, sequential scans are used if the value is low. Recommendations are to set effective_cache_size at 50%-75% of the machine’s total RAM. |
4040
| **maintenance_work_mem** | The maintenance_work_mem parameter basically provides the maximum amount of memory to be used by maintenance operations like vacuum, create index, and alter table add foreign key operations. Default value for that parameter is 64 KB. It’s recommended to set this value higher than work_mem. |
41-
| **effective_io_concurrency** | Sets the number of concurrent disk I/O operations that PostgreSQL expects can be executed simultaneously. Raising this value will increase the number of I/O operations that any individual PostgreSQL session attempts to initiate in parallel. The allowed range is 1 to 1000, or zero to disable issuance of asynchronous I/O requests. Currently, this setting only affects bitmap heap scans. |
41+
| **effective_io_concurrency** | Sets the number of concurrent disk I/O operations that PostgreSQL expects can be executed simultaneously. Raising this value increases the number of I/O operations that any individual PostgreSQL session attempts to initiate in parallel. The allowed range is 1 to 1000, or zero to disable issuance of asynchronous I/O requests. Currently, this setting only affects bitmap heap scans. |
4242
|**require_secure_transport** | If your application doesn't support SSL connectivity to the server, you can optionally disable secured transport from your client by turning `OFF` this parameter value. |
4343
|**log_connections** | This parameter may be read-only, as on Azure Database for PostgreSQL - Flexible Server all connections are logged and intercepted to make sure connections are coming in from right sources for security reasons. |
4444
|**log_disconnections** | This parameter may be read-only, as on Azure Database for PostgreSQL - Flexible Server all disconnections are logged. |
4545

4646
>[!NOTE]
47-
> As you scale Azure Database for PostgreSQL - Flexible Server SKUs up or down, affecting available memory to the server, you may wish to tune your memory global parameters, such as work_mem or effective_cache_size accordingly based on information above.
47+
> As you scale Azure Database for PostgreSQL - Flexible Server SKUs up or down, affecting available memory to the server, you may wish to tune your memory global parameters, such as `work_mem` or `effective_cache_size` accordingly based on information shared in the article.
4848
4949

5050
## Next steps

0 commit comments

Comments
 (0)