PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 16.2 » Programmation serveur » Modules d'archivage » Fonctions d'initialisation

51.1. Fonctions d'initialisation #

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.