s3_upload_checksum_algorithm
ClickHouse 将数据上传到S3 时使用的校验和算法。CRC32 和 SHA256 作为灵活的 x-amz-checksum-* 请求头发送,MD5 则作为 Content-MD5 请求头发送。
默认情况下,该值为空,ClickHouse 会让 AWS SDK 计算 Content-MD5。在 FIPS 模式下,MD5 不可用,因此 SDK 会静默省略它,导致上传内容完全不含校验和:请改为设置 CRC32 或 SHA256,以附加灵活校验和。在适用此设置的场景中,显式指定 MD5 会被拒绝。
该设置在创建 S3 客户端时生效,因此适用于查询作用域的场景,例如 s3 表函数和 BACKUP ... TO S3;后续按查询执行的 SET 不会重新配置已经创建的长期运行客户端,例如 S3 磁盘。
S3Express 桶要求使用灵活校验和,且不接受 Content-MD5:显式指定的 CRC32 或 SHA256 会生效,空值会使用 CRC32,显式指定的 MD5 则会被拒绝。
GCS 端点 (storage.googleapis.com) 会完全忽略此设置,并保留 SDK 的 Content-MD5 行为,因为 GCS 会拒绝携带 AWS x-amz-checksum-* 请求头且使用 SigV4 签名的请求。
服务器端复制会忽略此设置。