Hello, The default setting of parameter io_max_concurrency shows 64 whereas the documentation says -1, checking if this is the expected behavior.
PG 18 documentation says: The default setting of -1 selects a number based on shared_buffers<https://www.postgresql.org/docs/18/runtime-config-resource.html#GUC-SHARED-BUFFERS> and the maximum number of processes (max_connections<https://www.postgresql.org/docs/18/runtime-config-connection.html#GUC-MAX-CONNECTIONS>, autovacuum_worker_slots<https://www.postgresql.org/docs/18/runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS>, max_worker_processes<https://www.postgresql.org/docs/18/runtime-config-resource.html#GUC-MAX-WORKER-PROCESSES> and max_wal_senders<https://www.postgresql.org/docs/18/runtime-config-replication.html#GUC-MAX-WAL-SENDERS>), but not more than 64. https://www.postgresql.org/docs/18/runtime-config-resource.html#GUC-IO-MAX-CONCURRENCY postgresql.conf (also says -1) #io_max_concurrency = -1 # Max number of IOs that one process # can execute simultaneously # -1 sets based on shared_buffers # (change requires restart) But the default setting in the database instance is 64 postgres=# show io_max_concurrency; io_max_concurrency -------------------- 64 (1 row) Even after explicitly changing to -1 and restart, the setting is not getting reflected, is there any other dependency we could be missing? postgres=# alter system set io_max_concurrency=-1; ALTER SYSTEM waiting for server to shut down.... done server stopped waiting for server to start.... done server started [postgres]$ psql psql (18beta1) Type "help" for help. postgres=# show io_max_concurrency; io_max_concurrency -------------------- 64 (1 row) Interestingly, it accepts values besides -1, including unexpected ones like 100/200 (contrary to the documentation max 64). postgres=# show io_max_concurrency; io_max_concurrency -------------------- 100 (1 row) postgres=# alter system set io_max_concurrency=200; ALTER SYSTEM postgres=# waiting for server to shut down.... done server stopped waiting for server to start.... done server started [postgres]$ psql psql (18beta1) Type "help" for help. postgres=# show io_max_concurrency; io_max_concurrency -------------------- 200 (1 row) Thank you, Nazneen