存档回调函数定义模块的实际存档行为。 服务器将根据需要调用它们来处理每个单独的WAL文件。
    在模块加载后不久会调用startup_cb回调。此回调可用于执行
    任何所需的额外初始化。如果归档模块有任何状态,可以使用
    state->private_data来存储它。
typedef void (*ArchiveStartupCB) (ArchiveModuleState *state);
    check_configured_cb 回调函数被调用以确定模块是否已完全配置并准备好接
    收 WAL 文件(例如,其配置参数已设置为有效值)。如果未定义
    check_configured_cb,服务器始终假定模块已配置。
typedef bool (*ArchiveCheckConfiguredCB) (ArchiveModuleState *state);
    如果返回 true,服务器将通过调用 archive_file_cb 回调
    函数继续归档文件。如果返回 false,归档将不会继续,归档器将向服务器日志
    输出以下消息:
WARNING: archive_mode enabled, yet archiving is not configured
    在后一种情况下,服务器将定期调用此函数,并且只有当其返回 true 时,归档
    才会继续。
   
    archive_file_cb回调函数被调用以归档单个WAL文件。
typedef bool (*ArchiveFileCB) (ArchiveModuleState *state, const char *file, const char *path);
    如果返回true,服务器将继续操作,仿佛文件已成功归档,
    这可能包括回收或删除原始的WAL文件。如果返回false,
    服务器将保留原始的WAL文件,并稍后重试归档。
    file将仅包含要归档的WAL文件的文件名,而
    path包含WAL文件的完整路径(包括文件名)。
    当归档器进程退出(例如,发生错误后)或
    archive_library 的值发生变化时,会调用
    shutdown_cb 回调。如果没有定义
    shutdown_cb,在这些情况下不会采取特殊操作。
    如果归档模块有任何状态,此回调应释放它以避免内存泄漏。
typedef void (*ArchiveShutdownCB) (ArchiveModuleState *state);