3.13. 杂项参数

3.13.1. 附件存储配置

[attachments]
compression_level

定义从 1(最低,最快)到 9(最高,最慢)的附件的 zlib 压缩级别。值 0 禁用压缩

[attachments]
compression_level = 8
compressible_types

由于压缩对某些类型的文件无效,因此可以仅让 CouchDB 压缩某些类型的附件,由其 MIME 类型指定

[attachments]
compressible_types = text/*, application/javascript, application/json, application/xml

3.13.2. 统计计算

[stats]
interval

以秒为单位的收集统计信息之间的间隔

[stats]
interval = 10

3.13.3. UUID 配置

[uuids]
algorithm

在版本 1.3 中更改: 添加了 utc_id 算法。

CouchDB 提供了多种算法来生成 UUID 值,这些值默认用于文档 _id

[uuids]
algorithm = sequential

可用的算法

  • random:128 位的随机真棒。始终都是真棒

    {
        "uuids": [
            "5fcbbf2cb171b1d5c3bc6df3d4affb32",
            "9115e0942372a87a977f1caf30b2ac29",
            "3840b51b0b81b46cab99384d5cd106e3",
            "b848dbdeb422164babf2705ac18173e1",
            "b7a8566af7e0fc02404bb676b47c3bf7",
            "a006879afdcae324d70e925c420c860d",
            "5f7716ee487cc4083545d4ca02cd45d4",
            "35fdd1c8346c22ccc43cc45cd632e6d6",
            "97bbdb4a1c7166682dc026e1ac97a64c",
            "eb242b506a6ae330bda6969bb2677079"
        ]
    }
    
  • sequential:单调递增的 id,具有随机增量。前 26 个十六进制字符是随机的,最后 6 个以随机量递增,直到发生溢出。溢出时,随机前缀会重新生成,并且该过程重新开始。

    {
        "uuids": [
            "4e17c12963f4bee0e6ec90da54804894",
            "4e17c12963f4bee0e6ec90da5480512f",
            "4e17c12963f4bee0e6ec90da54805c25",
            "4e17c12963f4bee0e6ec90da54806ba1",
            "4e17c12963f4bee0e6ec90da548072b3",
            "4e17c12963f4bee0e6ec90da54807609",
            "4e17c12963f4bee0e6ec90da54807718",
            "4e17c12963f4bee0e6ec90da54807754",
            "4e17c12963f4bee0e6ec90da54807e5d",
            "4e17c12963f4bee0e6ec90da54808d28"
        ]
    }
    
  • utc_random:自 1970 年 1 月 1 日 UTC 以来的时间,以微秒为单位。前 14 个字符是十六进制时间。最后 18 个是随机的。

    {
        "uuids": [
            "04dd32b3af699659b6db9486a9c58c62",
            "04dd32b3af69bb1c2ac7ebfee0a50d88",
            "04dd32b3af69d8591b99a8e86a76e0fb",
            "04dd32b3af69f4a18a76efd89867f4f4",
            "04dd32b3af6a1f7925001274bbfde952",
            "04dd32b3af6a3fe8ea9b120ed906a57f",
            "04dd32b3af6a5b5c518809d3d4b76654",
            "04dd32b3af6a78f6ab32f1e928593c73",
            "04dd32b3af6a99916c665d6bbf857475",
            "04dd32b3af6ab558dd3f2c0afacb7d66"
        ]
    }
    
  • utc_id:自 1970 年 1 月 1 日 UTC 以来的时间,以微秒为单位,加上 utc_id_suffix 字符串。前 14 个字符是十六进制时间。将 uuids/utc_id_suffix 字符串值附加到这些字符。

    {
        "uuids": [
            "04dd32bd5eabcc@mycouch",
            "04dd32bd5eabee@mycouch",
            "04dd32bd5eac05@mycouch",
            "04dd32bd5eac28@mycouch",
            "04dd32bd5eac43@mycouch",
            "04dd32bd5eac58@mycouch",
            "04dd32bd5eac6e@mycouch",
            "04dd32bd5eac84@mycouch",
            "04dd32bd5eac98@mycouch",
            "04dd32bd5eacad@mycouch"
        ]
    }
    

注意

UUID 选择的影响:在压缩之前,UUID 的选择对 B 树的布局有重大影响。

例如,在上传大量文档时使用顺序 UUID 算法将避免需要重写许多中间 B 树节点。随机 UUID 算法可能需要定期重写中间节点,从而导致吞吐量显着下降,并且由于仅追加 B 树设计而浪费磁盘空间。

通常建议设置自己的 UUID,或者在有特定需求并考虑到可能需要压缩来重新平衡 B 树和回收浪费的空间时,使用顺序算法。

utc_id_suffix

在版本 1.3 中新增。

utc_id_suffix 值将附加到由 utc_id 算法生成的 UUID。复制实例应具有唯一的 utc_id_suffix 值,以确保 utc_id id 的唯一性。

[uuid]
utc_id_suffix = my-awesome-suffix
max_count

在版本 1.5.1 中新增。

单个请求中发送的 UUID 数量不会超过此数量。如果请求更多 UUID,将抛出 HTTP 错误响应。

[uuid]
max_count = 1000

3.13.4. 供应商信息

[vendor]

在版本 1.3 中新增。

CouchDB 分销商可以选择自定义 CouchDB 的欢迎消息。在请求 GET / 时返回此消息。

[vendor]
name = The Apache Software Foundation
version = 1.5.0

3.13.5. 内容安全策略

[csp]

你可以分别为 Fauxton、附件和 show/list 函数配置 Content-Security-Policy 标头。有关 CSP 的更多详细信息,请参阅 MDN 内容安全策略

utils_enable

启用为 /_utils 发送标头 Content-Security-Policy。默认为 true

[csp]
utils_enable = true
utils_header_value

指定要发送的确切标头值。默认为

[csp]
utils_header_value = default-src 'self'; img-src 'self'; font-src *; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline';
attachments_enable

启用为附件发送 Content-Security-Policy 标头

[csp]
attachments_enable = true
attachments_header_value

指定要发送的确切标头值。默认为

[csp]
attachments_header_value = sandbox
showlist_enable

启用为 show 和 list 函数发送 Content-Security-Policy 标头

[csp]
showlist_enable = true
showlist_header_value

指定要发送的确切标头值。默认为

[csp]
showlist_header_value = sandbox

仍然遵循 3.2.0 之前的行为,但我们建议更新为新格式。

/_utils(Fauxton)的 CSP 标头的实验性支持。

enable

启用发送标头 Content-Security-Policy

[csp]
enable = true
header_value

你可以更改发送的标头的默认值

[csp]
header_value = default-src 'self'; img-src *; font-src *;

3.13.6. 数据库清除配置

[purge]
max_document_id_number

3.0 版中的新增功能。

设置单个清除请求中允许的最大文档数

[purge]
max_document_id_number = 100
max_revisions_number

3.0 版中的新增功能。

设置单个清除请求中允许的最大累积修订数

[purge]
max_revisions_number = 1000
index_lag_warn_seconds

3.0 版中的新增功能。

设置索引未针对本地清除检查点文档更新时的允许持续时间。默认值为 24 小时

[purge]
index_lag_warn_seconds = 86400

3.13.7. Prometheus 端点配置

[prometheus]
additional_port

3.2 版中的新增内容。

设置是否创建单独的非认证端口(默认值为 false)

[prometheus]
additional_port = true
bind_address

3.2 版中的新增内容。

要绑定的 IP 地址

[prometheus]
bind_address = 127.0.0.1
port

3.2 版中的新增内容。

客户端可以在该端口上查询未经认证的 Prometheus 端点数据

[prometheus]
port = 17986