La durabilité est une fonctionnalité des serveurs de bases de données permettant de garantir l'enregistrement des transactions validées même si le serveur s'arrête brutalement, par exemple en cas de coupure électrique. Néanmoins, la durabilité ajoute une surcharge significative. Si votre base de données n'a pas besoin de cette ganratie, PostgreSQL™ peut être configuré pour fonctionner bien plus rapidement. Voici des modifications de configuration que vous pouvez faire pour améliorer les performances dans ce cas ; elles n'invalident pas les garanties sur la validité des transactions en cas d'arrêt brutal, seulement dans le cas où le système d'exploitation est stoppé brutalement, sauf cas contraire mentionné ci-dessous :
Placer le répertoire des données dans un système de fichiers en mémoire (par exemple un disque RAM). Ceci élimine toutes les entrées/sorties disque de la base de données. Cela limite aussi la quantité de mémoire disponible (et peut-être aussi du swap).
Désactiver fsync ; il n'est pas nécessaire d'écrire les données sur disque.
Désactiver full_page_writes ; il n'est pas nécessaire de se prémunir contre les écritures de pages partielles.
Augmenter checkpoint_segments et checkpoint_timeout ; cela réduit les fréquences des CHECKPOINT mais augmente l'espace disque nécessaire dans pg_xlog.
Désactiver synchronous_commit ; il n'est pas forcément nécessaire d'écrire les journaux de transactions (WAL) à chaque validation de transactions. Ceci affecte la durabilité des transactions suite à un arrêt brutal de la base.