La durabilidad (durability) es una característica de las bases de datos que garantiza el registro de las transacciones comprometidas incluso si el servidor falla o pierde energía. Sin embargo, la durabilidad añade una sobrecarga significativa a la base de datos, por lo que si tu sitio no requiere tal garantía, PostgreSQL puede configurarse para funcionar mucho más rápido. Las siguientes son modificaciones de configuración que puedes realizar para mejorar el rendimiento en tales casos. Excepto por lo que se indica a continuación, la durabilidad sigue estando garantizada en caso de un fallo del software de la base de datos; solo un fallo abrupto del sistema operativo crea un riesgo de pérdida o corrupción de datos cuando se utilizan estos ajustes.
Ubica el directorio de datos del clúster de la base de datos en un sistema de archivos respaldado por memoria (es decir, un disco RAM). Esto elimina toda la E/S de disco de la base de datos, pero limita el almacenamiento de datos a la cantidad de memoria disponible (y tal vez a la del área de intercambio o swap).
Desactiva fsync; no hay necesidad de vaciar los datos al disco.
Desactiva synchronous_commit; podría no haber necesidad de forzar la escritura del WAL al disco en cada commit. Esta configuración conlleva el riesgo de pérdida de transacciones (aunque no de corrupción de datos) en caso de un fallo de la base de datos.
Desactiva full_page_writes; no hay necesidad de protegerse contra las escrituras parciales de páginas.
Aumenta max_wal_size y checkpoint_timeout; esto reduce la frecuencia de los puntos de control,
pero aumenta los requisitos de almacenamiento de /pg_wal.
Crea tablas no registradas (unlogged tables) para evitar las escrituras en el WAL, aunque esto hace que las tablas no sean seguras frente a fallos.