@@ -2574,39 +2574,33 @@ include_dir 'conf.d'
2574
2574
</term>
2575
2575
<listitem>
2576
2576
<para>
2577
- Sets the number of concurrent disk I/O operations that
2577
+ Sets the number of concurrent storage I/O operations that
2578
2578
<productname>PostgreSQL</productname> expects can be executed
2579
2579
simultaneously. Raising this value will increase the number of I/O
2580
- operations that any individual <productname>PostgreSQL</productname> session
2581
- attempts to initiate in parallel. The allowed range is 1 to 1000,
2582
- or zero to disable issuance of asynchronous I/O requests. Currently,
2583
- this setting only affects bitmap heap scans.
2580
+ operations that any individual <productname>PostgreSQL</productname>
2581
+ session attempts to initiate in parallel. The allowed range is
2582
+ <literal>1</literal> to <literal>1000</literal>, or
2583
+ <literal>0</literal> to disable issuance of asynchronous I/O requests.
2584
+ The default is <literal>16</literal> on supported systems, otherwise
2585
+ <literal>0</literal>.
2584
2586
</para>
2585
2587
2586
2588
<para>
2587
- For magnetic drives, a good starting point for this setting is the
2588
- number of separate
2589
- drives comprising a RAID 0 stripe or RAID 1 mirror being used for the
2590
- database. (For RAID 5 the parity drive should not be counted.)
2591
- However, if the database is often busy with multiple queries issued in
2592
- concurrent sessions, lower values may be sufficient to keep the disk
2593
- array busy. A value higher than needed to keep the disks busy will
2594
- only result in extra CPU overhead.
2595
- SSDs and other memory-based storage can often process many
2596
- concurrent requests, so the best value might be in the hundreds.
2589
+ Higher values will have the most impact on higher latency storage
2590
+ where queries otherwise experience noticeable I/O stalls and on
2591
+ devices with high IOPs. Unnecessarily high values may increase I/O
2592
+ latency for all queries on the system
2597
2593
</para>
2598
2594
2599
2595
<para>
2600
- Asynchronous I/O requires that the operating system supports issuing
2601
- read-ahead advice. If there is no operating system support then
2602
- setting this parameter to anything but zero will result in an error.
2596
+ On systems without prefetch advice support, attempting to configure
2597
+ any value other than <literal>0</literal> will error out.
2603
2598
</para>
2604
2599
2605
2600
<para>
2606
- The default is 1 on supported systems, otherwise 0. This value can
2607
- be overridden for tables in a particular tablespace by setting the
2608
- tablespace parameter of the same name (see
2609
- <xref linkend="sql-altertablespace"/>).
2601
+ This value can be overridden for tables in a particular tablespace by
2602
+ setting the tablespace parameter of the same name (see <xref
2603
+ linkend="sql-altertablespace"/>).
2610
2604
</para>
2611
2605
</listitem>
2612
2606
</varlistentry>
0 commit comments