mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	doc: clarify the effect of concurrent work_mem allocations
Reported-by: Sami Imseih Discussion: https://postgr.es/m/66590882-F48C-4A25-83E3-73792CF8C51F@amazon.com Backpatch-through: 11
This commit is contained in:
		@@ -1824,9 +1824,10 @@ include_dir 'conf.d'
 | 
				
			|||||||
        (such as a sort or hash table) before writing to temporary disk files.
 | 
					        (such as a sort or hash table) before writing to temporary disk files.
 | 
				
			||||||
        If this value is specified without units, it is taken as kilobytes.
 | 
					        If this value is specified without units, it is taken as kilobytes.
 | 
				
			||||||
        The default value is four megabytes (<literal>4MB</literal>).
 | 
					        The default value is four megabytes (<literal>4MB</literal>).
 | 
				
			||||||
        Note that for a complex query, several sort or hash operations might be
 | 
					        Note that a complex query might perform several sort and hash
 | 
				
			||||||
        running in parallel; each operation will generally be allowed
 | 
					        operations at the same time, with each operation generally being
 | 
				
			||||||
        to use as much memory as this value specifies before it starts
 | 
					        allowed to use as much memory as this value specifies before
 | 
				
			||||||
 | 
					        it starts
 | 
				
			||||||
        to write data into temporary files.  Also, several running
 | 
					        to write data into temporary files.  Also, several running
 | 
				
			||||||
        sessions could be doing such operations concurrently.
 | 
					        sessions could be doing such operations concurrently.
 | 
				
			||||||
        Therefore, the total memory used could be many times the value
 | 
					        Therefore, the total memory used could be many times the value
 | 
				
			||||||
@@ -1840,7 +1841,7 @@ include_dir 'conf.d'
 | 
				
			|||||||
       <para>
 | 
					       <para>
 | 
				
			||||||
        Hash-based operations are generally more sensitive to memory
 | 
					        Hash-based operations are generally more sensitive to memory
 | 
				
			||||||
        availability than equivalent sort-based operations.  The
 | 
					        availability than equivalent sort-based operations.  The
 | 
				
			||||||
        memory available for hash tables is computed by multiplying
 | 
					        memory limit for a hash table is computed by multiplying
 | 
				
			||||||
        <varname>work_mem</varname> by
 | 
					        <varname>work_mem</varname> by
 | 
				
			||||||
        <varname>hash_mem_multiplier</varname>.  This makes it
 | 
					        <varname>hash_mem_multiplier</varname>.  This makes it
 | 
				
			||||||
        possible for hash-based operations to use an amount of memory
 | 
					        possible for hash-based operations to use an amount of memory
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user