Chapter 49. Módulos de archivado

Table of Contents

49.1. Funciones de inicialización
49.2. Retrollamadas del módulo de archivado
49.2.1. Retrollamada de inicio
49.2.2. Retrollamada de comprobación
49.2.3. Retrollamada de archivado
49.2.4. Retrollamada de apagado (Shutdown)

PostgreSQL proporciona la infraestructura para crear módulos personalizados para el archivado continuo (ver Section 25.3). Aunque el archivado a través de un comando de shell (es decir, archive_command) es mucho más simple, un módulo de archivado personalizado a menudo será considerablemente más robusto y eficiente.

Cuando se configura una biblioteca archive_library personalizada, PostgreSQL enviará los archivos WAL completados al módulo, y el servidor evitará reciclar o eliminar estos archivos WAL hasta que el módulo indique que los archivos se archivaron con éxito. En última instancia, depende del módulo decidir qué hacer con cada archivo WAL, pero se enumeran muchas recomendaciones en el Section 25.3.1.

Los módulos de archivado deben constar al menos de una función de inicialización (ver Section 49.1) y de las retrollamadas (callbacks) requeridas (ver Section 49.2). Sin embargo, a los módulos de archivado también se les permite hacer mucho más (por ejemplo, declarar GUC y registrar procesos en segundo plano de tipo background workers).

El módulo contrib/basic_archive contiene un ejemplo funcional que demuestra algunas técnicas útiles.