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. Sauf indication contraire, la durabilité des transactions est garantie dans le cas d'un crash du serveur de bases de données ; seul un arrêt brutal du système d'exploitation crée un risque de perte de données ou de corruption quand ses paramètres sont utilisés.
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. Ce paramètre engendre un risque de perte de transactions (mais pas de corruption de données) dans le cas d'un crash de la base de données seule.