Une bibliothèque d'archivage est chargée en appelant dynamiquement une bibliothèque
   partagée dont le nom de base est fourni par le paramètre
   archive_library. Le chemin habituel de recherche des bibliothèques
   est utilisé pour localiser cette bibliothèque. Pour fournir les
   fonctions de support nécessaires au module d'archivage et pour indiquer que la bibliothèque
   est en fait un module d'archivage, une fonction
   _PG_archive_module_init doit y être fournie.
   Le résultat de la fonction doit être un pointeur vers une structure de type
   ArchiveModuleCallbacks, qui contient tout
   ce que le code principal a besoin de savoir pour utiliser le module d'archivage.
   La valeur de retour doit être conservée pendant la durée de vie du serveur,
   ce qui est généralement effectué en la définissant comme une variable
   static const dans le périmètre global.
typedef struct ArchiveModuleCallbacks
{
    ArchiveStartupCB startup_cb;
    ArchiveCheckConfiguredCB check_configured_cb;
    ArchiveFileCB archive_file_cb;
    ArchiveShutdownCB shutdown_cb;
} ArchiveModuleCallbacks;
typedef const ArchiveModuleCallbacks *(*ArchiveModuleInit) (void);
   Seule la fonction de support archive_file_cb est requise. Les
   autres sont optionnelles.