Async I/O (io_method)

PostgreSQL 🔴 Senior

Définition

PostgreSQL 18 (25 septembre 2025) introduit un sous-système d'entrées/sorties asynchrones contrôle par le paramètre io_method, qui accélère les scans séquentiels, les bitmap heap scans et le VACUUM en regroupant les lectures disque via io_combine_limit et io_max_combine_limit.

Analogie

Comme envoyer plusieurs coursiers chercher des colis en parallèle plutôt qu'un seul aller-retour a la fois.

Exemple de code

# postgresql.conf
io_method = 'io_uring'   # ou 'worker', 'sync'
io_combine_limit = 16
io_max_combine_limit = 32

Cas d'usage

Accélérer les gros scans séquentiels et le VACUUM sur des tables volumineuses en I/O-bound.

Anti-pattern

Changer io_method en production sans benchmarker : le gain dépend fortement du système de fichiers et du stockage sous-jacent.

Termes liés

#sgbd#interview#database#postgresql#pg18

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre