配置设置
Neo4j 配置设置在 neo4j.conf 中设置。有关如何使用配置设置的详细信息,请参阅neo4j.conf 文件。
有关 2025.x 中已弃用和已移除的配置设置列表,请参阅页面Neo4j 2025.x 中的更改、弃用和移除。
动态配置设置
动态设置可以在运行时更改,无需重启服务。
动态设置标记为动态。
运行时对配置的更改不会持久化。为避免在重启 Neo4j 时丢失更改,请务必同时更新neo4j.conf。 在集群环境中, 集群的每个成员都有自己的 neo4j.conf 文件。建议数据库的设置在集群的所有成员中保持一致。 |
有关如何更新动态配置设置的更多信息,请参阅更新动态设置。
检查点设置
检查点是将所有待处理的页面更新从页面缓存刷新到存储文件的过程。这是定期执行的,用于在崩溃时恢复数据库。检查点设置控制检查点的频率以及每次检查点写入磁盘的数据量。另请参阅事务日志设置。
db.checkpoint
描述 |
配置何时发生检查点的通用策略。可能的值为
|
有效值 |
[PERIODIC, CONTINUOUS, VOLUME, VOLUMETRIC] 之一。 |
默认值 |
|
db.checkpoint.interval.time
描述 |
配置检查点之间的时间间隔。数据库不会比指定间隔更频繁地创建检查点(除非检查点由不同的事件触发),但如果执行检查点所需时间超过配置的间隔,则可能检查点频率会降低。检查点是事务日志中恢复开始的点。较长的检查点间隔通常意味着在崩溃时恢复需要更长的时间。另一方面,较长的检查点间隔也可以减少数据库施加在系统上的 I/O 负载,因为每个检查点都意味着刷新和强制写入所有存储文件。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
db.checkpoint.interval.tx
描述 |
配置检查点之间的事务间隔。数据库不会比指定间隔更频繁地创建检查点(除非检查点由不同的事件触发),但如果执行检查点所需时间超过配置的间隔,则可能检查点频率会降低。检查点是事务日志中恢复开始的点。较长的检查点间隔通常意味着在崩溃时恢复需要更长的时间。另一方面,较长的检查点间隔也可以减少数据库施加在系统上的 I/O 负载,因为每个检查点都意味着刷新和强制写入所有存储文件。默认值为 |
有效值 |
最小值为 |
默认值 |
|
db.checkpoint.interval.volume
描述 |
配置检查点之间事务日志的量。数据库不会比指定间隔更频繁地创建检查点(除非检查点由不同的事件触发),但如果执行检查点所需时间超过配置的间隔,则可能检查点频率会降低。检查点是事务日志中恢复开始的点。较长的检查点间隔通常意味着在崩溃时恢复需要更长的时间。另一方面,较长的检查点间隔也可以减少数据库施加在系统上的 I/O 负载,因为每个检查点都意味着刷新和强制写入所有存储文件。 |
有效值 |
一个字节大小(有效乘数有 |
默认值 |
|
db.checkpoint.iops.limit
企业版 动态
描述 |
限制后台检查点进程每秒消耗的 IO 数量。此设置为建议值。在 Neo4j 社区版中,它被忽略,而在企业版中,它会尽力遵循。在这种情况下,一个 IO 是 8 KiB(主要是顺序)写入。以这种方式限制写入 IO 会在 IO 子系统中留下更多带宽来服务随机读取 IO,这对于当数据库无法完全适应内存时查询的响应时间很重要。此设置的唯一缺点是,更长的检查点时间可能导致在数据库或系统崩溃时恢复时间略长。较低的数字意味着较低的 IO 压力,从而导致更长的检查点时间。将其设置为 |
有效值 |
一个整数。 |
默认值 |
|
云存储集成设置
云集成设置允许您指定自定义 Azure blob 存储端点和主机授权,为 Google Cloud Storage 存储桶设置项目 ID,以及定义 Amazon S3 中传输操作的所需吞吐量。
dbms.integrations.cloud_storage.azb.blob_endpoint_suffix
描述 |
Azure blob 存储端点后缀。如果您不使用 Azure 公有云(例如,如果您使用 Azure Government),则需要更改此项。 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.integrations.cloud_storage.azb.authority_endpoint
描述 |
Azure 授权主机端点(仅在某些身份验证方法中需要,应以完整形式指定 - 例如,https://login.microsoftonline.com)。 |
有效值 |
一个字符串。 |
默认值 |
集群设置
集群设置用于配置 Neo4j 集群的行为。有关更多信息,另请参阅集群设置。
db.cluster.catchup.pull_interval
描述 |
辅助服务器从该数据库的主服务器获取特定数据库更新的间隔。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
db.cluster.raft.apply.buffer.max_bytes
描述 |
应用缓冲区中的最大字节数。此参数限制应用缓冲区可以消耗的内存量。如果达到字节限制,即使未超出 max_entries,缓冲区大小也将受到限制。 |
有效值 |
一个字节大小(有效乘数有 |
默认值 |
|
db.cluster.raft.apply.buffer.max_entries
描述 |
Raft 日志条目预取缓冲区中的最大条目数。 |
有效值 |
一个整数。 |
默认值 |
|
db.cluster.raft.in_queue.batch.max_bytes
描述 |
RAFT 处理的最大批次(以字节为单位)。 |
有效值 |
一个字节大小(有效乘数有 |
默认值 |
|
db.cluster.raft.so_keepalive_enabled
描述 |
为所有 Raft TCP 通道设置保活套接字选项 (SO_KEEPALIVE)。 |
有效值 |
一个布尔值。 |
默认值 |
|
db.cluster.raft.in_queue.max_bytes
描述 |
RAFT 输入队列中的最大字节数。 |
有效值 |
一个字节大小(有效乘数有 |
默认值 |
|
db.cluster.raft.leader_transfer.priority_tag
描述 |
服务器标签的名称,其成员应优先作为领导者。这不保证领导者将始终是此标签的成员,但集群将尽可能尝试将领导权转移到此类成员。如果使用 |
有效值 |
标识服务器标签的字符串。 |
默认值 |
db.cluster.raft.log.prune_strategy
描述 |
RAFT 日志修剪策略,用于确定要修剪哪些日志。Neo4j 仅修剪截至上次应用索引的日志条目,这保证只有当其中的事务安全复制到本地事务日志并被大多数集群成员安全提交后,日志才会被标记为修剪。可能的值是字节大小或事务数量(例如,200K txs)。 |
有效值 |
一个字符串。 |
默认值 |
|
db.cluster.raft.log_shipping.buffer.max_bytes
描述 |
飞行中缓存中的最大字节数。此参数限制缓存可以消耗的内存量。如果达到字节限制,即使未超出 max_entries,缓存大小也将受到限制。 |
有效值 |
一个字节大小(有效乘数有 |
默认值 |
|
db.cluster.raft.log_shipping.buffer.max_entries
描述 |
飞行中缓存中的最大条目数。增加大小需要更多内存,但在高负载情况下可能会提高性能。 |
有效值 |
一个整数。 |
默认值 |
|
dbms.cluster.network.client_inactivity_timeout
描述 |
如果在给定的持续时间内没有网络活动,网络请求就会超时。客户端从服务器接收的每条消息都会延长超时持续时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.cluster.endpoints
描述 |
一个逗号分隔的端点列表,服务器应联系这些端点以发现其他集群成员。所有托管 |
有效值 |
一个逗号分隔的列表,其中每个元素都是 |
默认值 |
dbms.cluster.discovery.resolver_type
描述 |
配置发现服务用于确定哪些成员应成为集群一部分的解析器类型。有效值为
|
有效值 |
一个字符串。 |
默认值 |
|
dbms.cluster.minimum_initial_system_primaries_count
描述 |
最初组建集群 DBMS 所需的最小机器数量。当至少有这么多成员相互发现、绑定并引导了一个高可用系统数据库时,集群被视为已形成。因此,集群的初始机器中至少有这么多必须将 |
有效值 |
最小值为 |
默认值 |
|
dbms.cluster.network.connect_timeout
描述 |
等待建立网络连接的最大时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.cluster.network.handshake_timeout
描述 |
协议协商握手超时。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.cluster.network.max_chunk_size
描述 |
集群机制允许的最大网络块大小。 |
有效值 |
一个介于 |
默认值 |
|
dbms.cluster.network.supported_compression_algos
描述 |
此实例在协商中允许的网络压缩算法,以逗号分隔列表。 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
dbms.cluster.raft.async_channel_acquisition_enabled
描述 |
启用 Raft 发送器通道的异步获取。如果设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.cluster.raft.binding_timeout
描述 |
Neo4j 服务器上的数据库加入集群或与至少可用成员的法定人数形成新集群所允许的时间。系统数据库的成员由 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.cluster.raft.client.max_channels
描述 |
两个节点之间用于操作 Raft 协议的最大 TCP 通道数。每个数据库分配一个通道,但单个通道可以被多个数据库使用。 |
有效值 |
一个整数。 |
默认值 |
|
dbms.cluster.raft.election_failure_detection_window
描述 |
领导者选举发生的速率。请注意,由于选举冲突,可能需要多次尝试才能找到领导者。该窗口应显著大于典型的通信延迟,以降低冲突的可能性。 |
有效值 |
一个持续时间范围 <min-max>(有效单位为: |
默认值 |
|
dbms.cluster.raft.leader_failure_detection_window
描述 |
检测到领导者丢失并举行第一次重新选举尝试的时间窗口。该窗口应显著大于典型的通信延迟,以降低冲突的可能性。 |
有效值 |
一个持续时间范围 <min-max>(有效单位为: |
默认值 |
|
dbms.cluster.raft.leader_transfer.balancing_strategy
描述 |
在集群中转移数据库领导权时使用的策略。请注意,如果为给定数据库指定了
|
有效值 |
[NO_BALANCING, EQUAL_BALANCING] 之一。 |
默认值 |
|
dbms.cluster.raft.log.pruning_frequency
描述 |
RAFT 日志修剪频率。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.cluster.raft.log.reader_pool_size
描述 |
RAFT 日志读取器池大小。 |
有效值 |
一个整数。 |
默认值 |
|
dbms.cluster.raft.log.rotation_size
描述 |
RAFT 日志轮转大小。当日志达到此大小时,它将被轮转。 |
有效值 |
一个字节大小(有效乘数有 |
默认值 |
|
dbms.cluster.raft.membership.join_max_lag
描述 |
新追随者加入 Raft 组所允许的最大滞后量。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.cluster.raft.membership.join_timeout
描述 |
新成员赶上数据的超时时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.cluster.store_copy.max_retry_time_per_request
描述 |
存储复制期间每个请求的最大重试时间。在存储复制期间,常规存储文件和索引在单独的请求中下载。此配置设置了允许失败请求重发的最长时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
initial.dbms.automatically_enable_free_servers
描述 |
自动启用空闲服务器。 |
有效值 |
一个布尔值。 |
默认值 |
|
initial.dbms.default_primaries_count
描述 |
标准数据库的主服务器初始默认数量。如果用户在 |
有效值 |
一个整数,最小值为 |
默认值 |
|
initial.dbms.default_secondaries_count
描述 |
标准数据库的辅助服务器初始默认数量。如果用户在 |
有效值 |
一个整数,最小值为 |
默认值 |
|
initial.server.allowed_databases
描述 |
此服务器上允许的数据库名称;所有其他数据库均被拒绝。空值表示允许所有数据库。此配置可在启用服务器时覆盖或在运行时更改而无需更改此设置。与 |
有效值 |
一个逗号分隔的集合,其中每个元素都是一个有效的数据库名称,仅包含字母、数字、点和破折号,长度在 3 到 63 个字符之间,以字母或数字开头,但不能以 |
默认值 |
initial.server.denied_databases
描述 |
此服务器上不允许的数据库名称。空值表示不拒绝任何数据库。此配置可在启用服务器时覆盖或在运行时更改而无需更改此设置。与 |
有效值 |
一个逗号分隔的集合,其中每个元素都是一个有效的数据库名称,仅包含字母、数字、点和破折号,长度在 3 到 63 个字符之间,以字母或数字开头,但不能以 |
默认值 |
initial.server.mode_constraint
描述 |
服务器可以限制自身,只允许将数据库作为主服务器或辅助服务器托管。此设置是 |
有效值 |
以下之一:[PRIMARY, SECONDARY, NONE]。 |
默认值 |
|
initial.server.tags
描述 |
服务器的标签名称列表,用于数据库分配以及配置负载均衡和复制策略。此设置是 |
有效值 |
一个逗号分隔的列表,其中每个元素都是标识服务器标签的字符串,不包含重复项。 |
默认值 |
server.cluster.advertised_address
描述 |
事务传输服务器的对外主机名/IP 地址和端口。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.cluster.catchup.connect_randomly_to_server_tags
描述 |
逗号分隔的标签列表,供“随机连接到带标签的服务器”选择策略使用。当策略列表 ( |
有效值 |
一个逗号分隔的列表,其中每个元素都是标识服务器标签的字符串。 |
默认值 |
server.cluster.catchup.upstream_strategy
描述 |
辅助服务器选择上游服务器以从中拉取事务更新的降序策略列表。如果均无效或列表为空,则默认策略为 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
server.cluster.catchup.user_defined_upstream_strategy
描述 |
用户定义上游选择策略的配置。当策略列表 ( |
有效值 |
一个字符串。 |
默认值 |
server.cluster.listen_address
描述 |
事务传输服务器监听的网络接口和端口。请注意,也可以通过此端口运行备份客户端,因此请务必通过防火墙限制对其的访问并配置 SSL 策略。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.cluster.network.native_transport_enabled
描述 |
如果可用,使用原生传输。Linux 使用 Epoll,MacOS/BSD 使用 Kqueue。如果此设置设为 false,或者原生传输不可用,将使用 Nio 传输。 |
有效值 |
一个布尔值。 |
默认值 |
|
server.cluster.raft.advertised_address
描述 |
RAFT 服务器的对外主机名/IP 地址和端口。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
连接设置
连接设置控制服务器之间以及服务器与客户端之间的通信。Neo4j 通过连接器提供对 Bolt、HTTP 和 HTTPS 协议的支持。有关连接器的更多信息,请参阅配置网络连接器。
server.bolt.advertised_address
描述 |
此连接器的对外地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.bolt.connection_keep_alive
描述 |
在活动进行中查询等待响应的连接上发送 NOOP 之前的最长等待时间。最小值为 1 毫秒。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
server.bolt.connection_keep_alive_for_requests
描述 |
启用保持活动消息的消息类型: |
有效值 |
以下之一:[ALL, STREAMING, OFF]。 |
默认值 |
|
server.bolt.connection_keep_alive_probes
描述 |
在连接被认为是陈旧之前丢失的总探测次数。最小值为 1。 |
有效值 |
最小值为 |
默认值 |
|
server.bolt.connection_keep_alive_streaming_scheduling_interval
描述 |
所有活动查询连接上每次计划保持活动检查之间的时间间隔。持续时间为零表示关闭保持活动服务。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
server.bolt.listen_address
描述 |
连接器应绑定的地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.bolt.additional_listen_addresses
描述 |
连接器应绑定的附加地址。 |
有效值 |
一个逗号分隔的集合,其中每个元素都是格式为 |
默认值 |
server.bolt.ocsp_stapling_enabled
描述 |
为 Bolt 和 HTTP 连接器启用服务器 OCSP 装订。 |
有效值 |
一个布尔值。 |
默认值 |
|
server.bolt.telemetry.enabled
描述 |
启用驱动程序遥测数据收集。 |
有效值 |
一个布尔值。 |
默认值 |
|
server.bolt.enable_network_error_accounting
描述 |
启用基于核算的 Bolt 栈内良性错误报告。启用后,良性错误仅在这些事件以异常频率发生时才报告。禁用后,所有良性网络错误均会报告。 |
有效值 |
一个布尔值。 |
默认值 |
|
server.bolt.network_abort_clear_window_duration
描述 |
网络相关的连接中止需要保持在合理水平的持续时间,然后才能清除错误。 |
有效值 |
一个持续时间(有效单位为:ns、μs、ms、s、m、h 和 d;默认单位为 s),最小值为 |
默认值 |
|
server.bolt.network_abort_warn_threshold
描述 |
在指定时间窗内允许的网络相关连接中止的最大数量,超过此数量将发出日志消息。值为零则恢复为旧版警告行为。 |
有效值 |
一个长整型,最小值为 |
默认值 |
|
server.bolt.network_abort_warn_window_duration
描述 |
网络相关连接中止采样的时间窗持续时间。 |
有效值 |
一个持续时间(有效单位为:ns、μs、ms、s、m、h 和 d;默认单位为 s),最小值为 |
默认值 |
|
server.bolt.thread_pool_keep_alive
描述 |
绑定到此连接器的线程池中空闲线程等待新任务的最长时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
server.bolt.thread_pool_max_size
描述 |
绑定到此连接器的线程池中允许的最大线程数。 |
有效值 |
一个整数。 |
默认值 |
|
server.bolt.thread_pool_min_size
描述 |
绑定到此连接器的线程池中要保留的线程数,包括空闲线程。 |
有效值 |
一个整数。 |
默认值 |
|
server.bolt.thread_starvation_clear_window_duration
描述 |
未调度请求需要保持在合理水平的持续时间,然后才能清除错误。 |
有效值 |
一个持续时间(有效单位为:ns、μs、ms、s、m、h 和 d;默认单位为 s),最小值为 |
默认值 |
|
server.bolt.thread_starvation_warn_threshold
描述 |
在指定时间窗内,线程饥饿事件期间允许的未调度请求的最大数量,超过此数量将发出日志消息。 |
有效值 |
一个长整型,最小值为 |
默认值 |
|
server.bolt.thread_starvation_warn_window_duration
描述 |
未调度请求采样的时间窗持续时间。 |
有效值 |
一个持续时间(有效单位为:ns、μs、ms、s、m、h 和 d;默认单位为 s),最小值为 |
默认值 |
|
server.bolt.tls_level
描述 |
用于保护与此连接器通信的加密级别。 |
有效值 |
以下之一:[REQUIRED, OPTIONAL, DISABLED]。 |
默认值 |
|
server.bolt.traffic_accounting_check_period
描述 |
当前流量使用量采样之间的时间。较低的值会产生更准确的报告,同时会带来更高的性能损失。零值会禁用流量核算。 |
有效值 |
一个持续时间(有效单位为:ns、μs、ms、s、m、h 和 d;默认单位为 s),为 0s 或最小值为 |
默认值 |
|
server.bolt.traffic_accounting_clear_duration
描述 |
低于配置的流量阈值以清除流量警告所需的时间。 |
有效值 |
一个持续时间(有效单位为:ns、μs、ms、s、m、h 和 d;默认单位为 s),最小值为 |
默认值 |
|
server.bolt.traffic_accounting_incoming_threshold_mbps
描述 |
在发出警告之前,在配置的核算检查窗口内允许的最大入站流量(以 Mbps 为单位)。 |
有效值 |
一个长整型,最小值为 |
默认值 |
|
server.bolt.traffic_accounting_outgoing_threshold_mbps
描述 |
在发出警告之前,在配置的核算检查窗口内允许的最大出站流量(以 Mbps 为单位)。 |
有效值 |
一个长整型,最小值为 |
默认值 |
|
server.http.advertised_address
描述 |
此连接器的对外地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.http.listen_address
描述 |
连接器应绑定的地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.http_enabled_modules
描述 |
定义加载到 Neo4j Web 服务器中的模块集。企业管理端点仅在企业版中可用。 |
有效值 |
一个逗号分隔的集合,其中每个元素是 [TRANSACTIONAL_ENDPOINTS, UNMANAGED_EXTENSIONS, BROWSER, ENTERPRISE_MANAGEMENT_ENDPOINTS, QUERY_API_ENDPOINTS] 之一。 |
默认值 |
|
server.http_enabled_transports
描述 |
定义 HTTP 服务器上可用的传输集。 |
有效值 |
一个逗号分隔的集合,其中每个元素是 [HTTP1_1, HTTP2] 之一。 |
默认值 |
|
server.https.advertised_address
描述 |
此连接器的对外地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.https.listen_address
描述 |
连接器应绑定的地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.default_advertised_address
描述 |
服务器用于对外宣传自身的默认主机名或 IP 地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.default_listen_address
描述 |
监听传入连接的默认网络接口。要监听所有接口上的连接,请使用“0.0.0.0”。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.routing.advertised_address
描述 |
集群内部路由连接器的对外地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.routing.listen_address
描述 |
路由连接器应绑定的地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
dbms.routing.client_side.enforce_for_domains
描述 |
对于连接到这些域的 |
有效值 |
一个逗号分隔的集合,其中每个元素都是一个字符串。 |
默认值 |
dbms.routing.default_router
描述 |
|
有效值 |
以下之一:[SERVER, CLIENT]。 |
默认值 |
|
dbms.routing.driver.connection.connect_timeout
描述 |
套接字连接超时。超时时间为零被视为无限超时,并受限于操作系统级别的配置超时。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.routing.driver.connection.max_lifetime
描述 |
超过此阈值的连接池中的连接将被关闭并从连接池中移除。将此选项设置为低值将导致高连接流失率,并可能导致性能下降。建议将最大生命周期设置为略小于网络设备(负载均衡器、代理、防火墙等也可能限制最大连接生命周期)中配置的值。零和负值表示不检查生命周期。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.routing.driver.connection.pool.acquisition_timeout
描述 |
尝试从连接池获取连接所花费的最长时间。此超时仅在所有现有连接正在使用且无法创建新连接(因为已达到最大连接池大小)时才生效。如果在配置的时间内无法获取连接,则会引发错误。允许负值,这会导致无限的获取超时。允许值为 0,这表示没有超时,并且在连接不可用时立即失败。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.routing.driver.connection.pool.idle_test
描述 |
在连接池中空闲时间超过此超时时间的池化连接,在使用前会进行测试以确保它们仍然存活。如果此选项的值过低,获取连接将需要额外的网络调用,这会导致性能下降。如果此选项的值过高,活动连接可能不再被使用,从而导致错误。因此,此参数平衡了出现连接问题和性能的可能性。通常,此参数不需要调整。值为 0 表示连接将始终进行有效性测试。默认情况下不进行连接活性检查。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
dbms.routing.driver.connection.pool.max_size
描述 |
连接池管理的最大连接总数。该限制适用于主机和用户的组合。允许负值,表示无限制。不允许值为 0。默认为 |
有效值 |
一个整数。 |
默认值 |
|
dbms.routing.driver.logging.level
描述 |
设置驱动程序内部日志记录级别。 |
有效值 |
以下之一:[DEBUG, INFO, WARN, ERROR, NONE]。 |
默认值 |
|
dbms.routing.enabled
描述 |
在集群中使用附加 Bolt 连接器启用服务器端路由。配置后,这允许将请求从一个集群成员转发到另一个成员,如果第一个成员无法满足请求(例如,非领导者收到写入请求)。 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.routing.load_balancing.plugin
描述 |
每次生成路由表时,改变路由表中的条目顺序。这意味着不同的客户端应选择一系列服务器作为其首次联系,减少所有客户端联系同一服务器的可能性,如果存在替代方案的话。这使得服务器之间的负载更加均衡。 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.routing.load_balancing.shuffle_enabled
描述 |
每次生成路由表时,改变路由表中的条目顺序。这意味着不同的客户端应选择一系列服务器作为其首次联系,减少所有客户端联系同一服务器的可能性,如果存在替代方案的话。这使得服务器之间的负载更加均衡。 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.routing.reads_on_primaries_enabled
描述 |
配置 |
有效值 |
一个布尔值。 |
默认值 |
|
Cypher 设置
Cypher 设置会影响 Cypher 查询的行为。它们可用于调整 Cypher 查询的性能或限制可执行的查询类型。有关更多信息,请参阅统计信息和执行计划。
dbms.cypher.forbid_exhaustive_shortestpath
描述 |
此设置与性能优化相关。在以下情况下将其设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.cypher.forbid_shortestpath_common_nodes
描述 |
此设置与性能优化相关。当起始节点和结束节点相同时,最短路径算法不起作用。将此设置设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.cypher.hints_error
描述 |
设置此项以指定当 Cypher 规划器或运行时提示无法满足时的行为。如果为 true,则不符合要求将导致错误,否则仅生成警告。 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.cypher.infer_schema_parts
描述 |
允许在基数估算期间进行标签推断。如果规划器可以逻辑推断节点具有查询中未明确表达的标签,则规划器将在基数估算期间使用此信息。
|
有效值 |
以下之一:[MOST_SELECTIVE_LABEL, OFF]。 |
默认值 |
|
对于某些查询,规划器可以从图结构中推断出谓词(例如标签或类型),这可以改进对每个运算符生成的行数的估计。有关更多信息,请参阅Cypher 手册 → 执行计划和查询优化 → 理解执行计划。
有关如何按查询配置此设置(从而有效地覆盖该特定查询的此设置)的详细信息,请参阅Cypher 手册 → 查询优化 → Cypher 推断模式部分。
dbms.cypher.lenient_create_relationship
描述 |
当起始节点或结束节点缺失时,设置此项以更改 Cypher 创建关系的行为。默认情况下,这会使查询失败并停止执行,但通过设置此标志,创建操作将简单地不执行,并且执行继续。 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.cypher.min_replan_interval
描述 |
可能的 Cypher 查询重新规划事件之间的最短时间。在此时间之后,将评估图统计信息,如果它们的变化超过了 dbms.cypher.statistics_divergence_threshold 设置的值,查询将重新规划。如果统计信息没有充分改变,则需要经过相同的时间间隔才能再次评估统计信息。每次评估时,发散阈值将略微降低,直到 7 小时后达到 10%,这样即使是适度更改的数据库,在足够长的时间间隔后也会进行查询重新规划。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.cypher.planner
描述 |
设置此项以指定默认语言版本的默认规划器。 |
有效值 |
以下之一:[DEFAULT, COST]。 |
默认值 |
|
dbms.cypher.render_plan_description
描述 |
如果设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.cypher.statistics_divergence_threshold
描述 |
统计信息超过此值时,计划被视为过期的阈值。 如果用于创建计划的任何底层统计信息的变化超过此值,则该计划将被视为过期并重新规划。变化计算为 这意味着 此间隔由 |
有效值 |
一个在 |
默认值 |
|
dbms.cypher.transactions.default_subquery_retry_timeout
描述 |
对于在带有 |
有效值 |
一个持续时间(有效单位为:ns、μs、ms、s、m、h 和 d;默认单位为 s)。 |
默认值 |
|
server.cypher.parallel.worker_limit
描述 |
为并行运行时分配给 Cypher 工作线程的线程数。如果设置为正数,则会启动相应数量的工作线程。如果设置为 如果设置为负数,则服务器上可用的逻辑处理器总数将减少该负数的绝对值。例如,如果服务器有 16 个可用处理器,并且您将 |
有效值 |
一个整数。 |
默认值 |
|
数据库设置
数据库设置会影响 Neo4j 数据库的行为,例如文件监视服务、数据库格式、数据库存储文件和数据库时区。它们可以在每个数据库之间有所不同,但在集群/DBMS 中的所有配置文件中必须保持一致。
db.filewatcher.enabled
描述 |
允许启用或禁用文件监视服务。这是一个辅助服务,但在几乎所有情况下都应保持启用。 |
有效值 |
一个布尔值。 |
默认值 |
|
db.format
描述 |
数据库格式。这是新数据库将使用的格式。有效值为 |
有效值 |
一个字符串。 |
默认值 |
|
|
db.relationship_grouping_threshold
描述 |
将节点视为密集的关联计数阈值。 |
有效值 |
最小值为 |
默认值 |
|
db.store.files.preallocate
描述 |
指定 Neo4j 是否应在存储文件增长时尝试预分配它们。 |
有效值 |
一个布尔值。 |
默认值 |
|
DBMS 设置
DBMS 设置会影响整个 Neo4j DBMS。您可以使用它们来设置默认数据库、DBMS 时区、种子提供者列表以及数据库的最大数量。DBMS 设置在集群/DBMS 的所有配置文件中必须保持一致。
initial.dbms.default_database
描述 |
默认数据库的名称。
要设置默认数据库,请改用 |
有效值 |
一个有效的数据库名称,仅包含字母、数字、点和破折号,长度在 3 到 63 个字符之间,以字母或数字开头,但不能以 system 命名。 |
默认值 |
|
dbms.databases.seed_from_uri_providers
描述 |
可以从存储在特定源 URI 的现有 seed(数据库备份或转储)创建数据库。 以下值可用:
此列表指定已启用的种子提供者。如果一个种子源(URI 方案)受列表中多个提供者支持,则将使用第一个匹配的提供者。如果列表设置为空,则 URI 功能的种子实际上被禁用。有关更多信息,请参阅从 URI 种子。 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
|
导入设置
导入设置控制 LOAD CSV
使用的内部缓冲区大小以及 CSV 文件中引号的转义。
db.import.csv.buffer_size
描述 |
|
有效值 |
一个长整型,最小值为 |
默认值 |
|
db.import.csv.legacy_quote_escaping
描述 |
选择是否符合标准 https://tools.ietf.org/html/rfc4180 来解释使用 |
有效值 |
一个布尔值。 |
默认值 |
|
索引设置
索引设置控制全文索引和后台索引采样(块大小限制和样本大小)。有关更多信息,请参阅索引配置。
db.index.fulltext.default_analyzer
描述 |
全文索引默认应使用的分析器名称。 |
有效值 |
一个字符串。 |
默认值 |
|
db.index.fulltext.eventually_consistent
描述 |
全文索引默认是否最终一致。 |
有效值 |
一个布尔值。 |
默认值 |
|
db.index.fulltext.eventually_consistent_apply_parallelism
描述 |
处理最终一致全文索引的排队索引更新的线程数。 |
有效值 |
一个最小值为 1 的整数。 |
默认值 |
|
db.index.fulltext.eventually_consistent_refresh_interval
描述 |
最终一致全文索引的刷新频率(更改保证可见)。如果设置为 |
有效值 |
一个持续时间(有效单位为:ns、μs、ms、s、m、h 和 d;默认单位为 s)。 |
默认值 |
|
db.index.fulltext.eventually_consistent_refresh_parallelism
描述 |
可以并行执行全文索引刷新的线程数,即可以并行刷新的最终一致全文索引的数量。 |
有效值 |
一个最小值为 1 的整数。 |
默认值 |
|
db.index.fulltext.eventually_consistent_index_update_queue_max_length
描述 |
全文索引的最终一致模式通过将索引更新排队,以便稍后在后台线程中应用。此新构建器设置了在任何给定时间点允许此队列中索引更新的最大数量。达到此限制时,提交过程将减慢并等待索引更新应用线程在队列中腾出更多空间。 |
有效值 |
一个在 |
默认值 |
|
db.index_sampling.background_enabled
描述 |
启用或禁用后台索引采样。 |
有效值 |
一个布尔值。 |
默认值 |
|
日志设置
Neo4j 有两个不同的日志配置文件,一个用于 neo4j.log,其中包含有关 Neo4j 的一般信息;另一个配置文件用于通过 Log4j 2 进行的所有其他类型的日志记录(除了由 Java 虚拟机 (JVM) 处理的 gc.log)。有关更多信息,请参阅日志记录。
db.logs.query.annotation_data_format
描述 |
用于 JSON 注释数据的格式。
这仅在查询日志为 JSON 格式时有效。 |
有效值 |
以下之一:[CYPHER, JSON, FLAT_JSON]。 |
默认值 |
|
db.logs.query.early_raw_logging_enabled
描述 |
记录查询文本和参数,而不混淆密码。这允许在解析开始之前更早地记录查询。 |
有效值 |
一个布尔值。 |
默认值 |
|
db.logs.query.enabled
描述 |
记录已执行的查询。有效值为
日志条目写入查询日志。 此功能在 Neo4j 企业版中可用。 |
有效值 |
以下之一:[OFF, INFO, VERBOSE]。 |
默认值 |
|
db.logs.query.max_parameter_length
描述 |
设置日志中每个参数的最大字符长度。此设置仅在 |
有效值 |
一个整数。 |
默认值 |
|
db.logs.query.obfuscate_literals
描述 |
在写入日志之前混淆查询的所有字面量。请注意,节点标签、关系类型和映射属性键仍然显示。更改此设置不会影响已缓存的查询。因此,如果您希望此更改立即生效,您还必须调用 |
有效值 |
一个布尔值。 |
默认值 |
|
请记住,如果 Neo4j 收到无法解析的格式错误的查询,它无法混淆其字面量(因为它不知道哪些部分是字面量),因此查询文本将不会包含在任何日志记录中。 |
db.logs.query.parameter_logging_enabled
描述 |
记录正在日志记录的已执行查询的参数。 |
有效值 |
一个布尔值。 |
默认值 |
|
db.logs.query.plan_description_enabled
描述 |
记录查询计划描述表,用于调试。 |
有效值 |
一个布尔值。 |
默认值 |
|
db.logs.query.threshold
描述 |
如果查询执行时间超过此阈值,则在查询完成后记录该查询 - 假设查询日志设置为 INFO。默认为 0 秒,即所有查询都将被记录。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
db.logs.query.transaction.enabled
描述 |
记录事务的开始和结束。有效值为“OFF”、“INFO”或“VERBOSE”。OFF:不记录。INFO:记录执行时间超过配置阈值 db.logs.query.transaction.threshold 的事务的开始和结束。VERBOSE:记录所有事务的开始和结束。日志条目写入查询日志。 |
有效值 |
以下之一:[OFF, INFO, VERBOSE]。 |
默认值 |
|
db.logs.query.transaction.threshold
描述 |
如果事务的打开时间超过此阈值,则在事务完成后记录该事务 — 前提是事务日志记录 (db.logs.query.transaction.enabled) 设置为 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
server.logs.config
描述 |
调试、查询、http 和安全日志的日志配置路径。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.configuration 解析。 |
默认值 |
|
server.logs.gc.options
描述 |
GC 日志记录选项。 |
有效值 |
一个字符串。 |
默认值 |
|
server.logs.gc.rotation.keep_number
描述 |
要保留的 GC 日志数量。 |
有效值 |
一个整数。 |
默认值 |
|
内存设置
内存设置控制分配给 Neo4j 的内存量及其使用方式。建议对这些设置进行一定量的测试和调整,以找出可用内存的最佳分配。有关如何调整这些设置的更多信息,请参阅内存配置、磁盘、RAM 和其他提示以及垃圾收集器调优。
db.memory.pagecache.warmup.enable
描述 |
页面缓存可以配置为对加载的页面执行使用采样,这可以用于构建活动负载配置文件。根据该配置文件,页面可以在重启、复制等时重新加载。此设置允许禁用该行为。此功能在 Neo4j 企业版中可用。 |
有效值 |
一个布尔值。 |
默认值 |
|
db.memory.pagecache.warmup.preload
描述 |
页面缓存预热可配置为预取文件,最好是在缓存大小大于存储大小时。要预取的文件可以通过“dbms.memory.pagecache.warmup.preload.allowlist”进行过滤。启用此功能会禁用通过配置文件进行预热。 |
有效值 |
一个布尔值。 |
默认值 |
|
db.memory.pagecache.warmup.preload.allowlist
描述 |
页面缓存预热预取文件允许列表正则表达式。默认匹配所有文件。 |
有效值 |
一个字符串。 |
默认值 |
|
db.memory.pagecache.warmup.profile.interval
描述 |
页面缓存的分析频率。准确的配置文件允许页面缓存在重启后进行主动预热,从而缩短达到性能的平均时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
db.memory.transaction.max
描述 |
限制单个事务可消耗的内存量,以字节为单位(或带“k”后缀的千字节,带“m”的兆字节,带“g”的千兆字节)。零表示“最大可能值”。 |
有效值 |
一个字节大小(有效乘数为 |
默认值 |
|
db.memory.transaction.total.max
描述 |
限制单个数据库中所有事务可消耗的内存量,以字节为单位(或带“k”后缀的千字节,带“m”的兆字节,带“g”的千兆字节)。零表示“无限制”。 |
有效值 |
一个字节大小(有效乘数为 |
默认值 |
|
server.db.query_cache_size
描述 |
每个数据库缓存的 Cypher 查询执行计划的数量。缓存中可以保留的最大查询计划数量为 |
有效值 |
一个最小值为 |
默认值 |
|
已替换为 |
dbms.memory.tracking.enable
描述 |
启用堆外内存和堆上内存跟踪。对于集群不应设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.memory.transaction.total.max
描述 |
限制所有正在运行的事务可消耗的内存量,以字节为单位(或带“k”后缀的千字节,带“m”的兆字节,带“g”的千兆字节)。零表示“无限制”。默认为堆大小限制的 70%。 |
有效值 |
一个字节大小(有效乘数为 |
默认值 |
server.memory.heap.initial_size
描述 |
初始堆大小。默认情况下,根据可用的系统资源进行计算。 |
有效值 |
一个字节大小(有效乘数有 |
默认值 |
server.memory.heap.max_size
描述 |
最大堆大小。默认情况下,根据可用的系统资源进行计算。 |
有效值 |
一个字节大小(有效乘数有 |
默认值 |
server.memory.pagecache.directio
描述 |
对页面缓存使用直接 I/O。此设置仅在 Linux 上受支持,且仅适用于使用平台对齐页面大小的记录格式子集。 |
有效值 |
一个布尔值。 |
默认值 |
|
server.memory.pagecache.flush.buffer.enabled
描述 |
页面缓存可以配置为使用临时缓冲区进行刷新。它用于尽可能将几个缓存页面序列组合成一个更大的缓冲区,以最大程度地减少执行的单个 IOPS 数量,并更好地利用可用的 I/O 资源,尤其是在这些资源受限的情况下。 |
有效值 |
一个布尔值。 |
默认值 |
|
server.memory.pagecache.flush.buffer.size_in_pages
描述 |
页面缓存可配置为使用临时缓冲区进行刷新。它用于尽可能将多个缓存页面序列组合成一个更大的缓冲区,以最大程度地减少执行的单个 IOPS 数量,并更好地利用可用的 I/O 资源,尤其是在这些资源受限的情况下。使用此设置配置单个文件刷新缓冲区大小(以页面为单位,8KiB)。为了在页面缓存刷新期间利用此缓冲区,应启用缓冲刷新。 |
有效值 |
一个在 |
默认值 |
|
server.memory.pagecache.scan.prefetchers
描述 |
在顺序扫描时用于预取数据的最大工作线程数。设置为“0”以禁用扫描的预取。 |
有效值 |
一个在 |
默认值 |
|
server.memory.pagecache.size
描述 |
用于映射存储文件的内存量。如果 Neo4j 在专用服务器上运行,则通常建议为操作系统留出大约 2-4 GB,为 JVM 留出足够的堆以保存所有事务状态和查询上下文,然后将其余部分留给页面缓存。如果未配置页面缓存内存,则根据可用系统资源计算启发式设置。默认情况下,页面缓存的大小将是可用 RAM 的 50% 减去最大堆大小。页面缓存的大小也不会超过最大堆大小的 70 倍(由于堆中页面缓存的一些开销)。 |
有效值 |
一个字节大小(有效乘数有 |
默认值 |
server.memory.query_cache.sharing_enabled
描述 |
启用不同数据库之间的缓存空间共享。启用此选项后,数据库将共享缓存空间,但不共享缓存条目。这意味着数据库可以从共享缓存存储和检索条目,但它不能检索由另一个数据库生成的条目。但是,数据库可以根据受限的缓存大小和缓存逐出策略,根据需要逐出其他数据库的条目。本质上,数据库可以竞争缓存空间,但不能观察彼此的条目。 当此选项启用时,所有数据库可用的缓存空间由 |
有效值 |
一个布尔值。 |
默认值 |
|
server.memory.query_cache.shared_cache_num_entries
描述 |
所有数据库缓存的查询数量。缓存中可以保留的最大查询数量正好是 |
有效值 |
一个最小值为 |
默认值 |
|
server.memory.query_cache.per_db_cache_num_entries
描述 |
每个数据库缓存的查询数量。缓存中可以保留的最大查询数量为 |
有效值 |
一个最小值为 |
默认值 |
|
指标设置
指标设置控制 Neo4j 是否记录指标、记录哪些指标、如何记录以及如何公开它们。要更好地理解指标设置以及如何配置它们,请参阅指标。
server.metrics.csv.enabled
描述 |
设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
server.metrics.csv.interval
描述 |
CSV 文件的报告间隔。即,向 CSV 文件附加新行(包含数字)的频率。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
server.metrics.csv.rotation.compression
描述 |
决定 CSV 历史文件使用的压缩方式。 |
有效值 |
以下之一:[NONE, ZIP, GZ]。 |
默认值 |
|
server.metrics.csv.rotation.keep_number
描述 |
CSV 文件的最大历史文件数量。 |
有效值 |
最小值为 |
默认值 |
|
server.metrics.csv.rotation.size
描述 |
CSV 文件自动轮转的文件大小(以字节为单位)。如果设置为零,则不会发生轮转。接受二进制后缀 |
有效值 |
一个字节大小(有效乘数为 |
默认值 |
|
server.metrics.enabled
描述 |
启用指标。将其设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
server.metrics.filter
描述 |
指定应通过逗号分隔的通配符模式列表启用哪些指标。只有匹配过滤器的指标才会启用。例如 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个简单的通配符模式,可以使用 |
默认值 |
|
server.metrics.graphite.enabled
描述 |
设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
server.metrics.graphite.interval
描述 |
Graphite 的报告间隔。即,多久向 Graphite 发送一次更新的指标。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
server.metrics.graphite.server
描述 |
Graphite 服务器的主机名或 IP 地址。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.metrics.jmx.enabled
描述 |
设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
Neo4j 浏览器和客户端设置
Neo4j 浏览器和客户端设置仅适用于 Neo4j 浏览器和客户端。
browser.allow_outgoing_connections
描述 |
配置 Neo4j 浏览器出站连接策略。 |
有效值 |
一个布尔值。 |
默认值 |
|
browser.credential_timeout
描述 |
配置 Neo4j 浏览器在此空闲期后使已登录用户超时。将其设置为 0 表示无限制。 |
有效值 |
一个持续时间(有效单位为:ns、μs、ms、s、m、h 和 d;默认单位为 s)。 |
默认值 |
|
browser.post_connect_cmd
描述 |
Neo4j 浏览器成功连接到此服务器时要运行的命令。使用分号分隔多个命令。 |
有效值 |
一个字符串。 |
默认值 |
browser.remote_content_hostname_whitelist
描述 |
Neo4j 浏览器被允许从中获取内容的主机白名单。 |
有效值 |
一个字符串。 |
默认值 |
|
browser.retain_connection_credentials
描述 |
配置 Neo4j 浏览器是否存储用户凭据。 |
有效值 |
一个布尔值。 |
默认值 |
|
Kubernetes 设置
Kubernetes 设置用于配置在 Kubernetes 上运行的集群,其中每个服务器都作为 Kubernetes 服务运行。其他服务器的地址可以使用列表服务 API 获取,如 Kubernetes API 文档中所述。有关更多信息,请参阅Kubernetes 中的发现。
dbms.kubernetes.address
描述 |
Kubernetes API 的地址。 |
有效值 |
格式为 |
默认值 |
|
dbms.kubernetes.ca_crt
描述 |
Kubernetes API 的 CA 证书文件位置。 |
有效值 |
一个路径。 |
默认值 |
|
dbms.kubernetes.cluster_domain
描述 |
Kubernetes 集群域。 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.kubernetes.label_selector
描述 |
Kubernetes API 的 LabelSelector。 |
有效值 |
一个字符串。 |
默认值 |
dbms.kubernetes.namespace
描述 |
Kubernetes API 命名空间的文件位置。 |
有效值 |
一个路径。 |
默认值 |
|
安全设置
安全设置用于配置 Neo4j 部署的安全性。有关 Neo4j 安全性的详细信息,请参阅安全部分。
dbms.security.allow_csv_import_from_file_urls
描述 |
确定 Cypher 是否允许在使用 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.auth_cache_max_capacity
描述 |
认证和授权缓存的最大容量(分别)。 |
有效值 |
一个整数。 |
默认值 |
|
dbms.security.auth_cache_ttl
描述 |
使用外部认证提供商(OIDC、LDAP 或插件)时,缓存的认证和授权信息的生存时间 (TTL)。将 TTL 设置为 0 将禁用认证缓存。在使用 LDAP 认证提供商时禁用缓存需要使用 LDAP 系统账户来解析授权信息。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.security.auth_cache_use_ttl
描述 |
为外部认证提供商(OIDC、LDAP 或插件)启用基于时间的认证和授权信息缓存逐出。禁用此设置将使缓存永久存在,只有当 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.auth_enabled
描述 |
启用访问 Neo4j 的认证要求。 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.auth_minimum_password_length
描述 |
密码所需的最小字符数。 |
有效值 |
最小值为 |
默认值 |
|
dbms.security.auth_lock_time
描述 |
在配置的不成功认证尝试次数后,用户账户应锁定的时间量。被锁定的用户将无法登录,直到锁定期限过期,即使提供了正确的凭据。不建议将此配置选项设置为低值,因为它可能使攻击者更容易暴力破解密码。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.security.auth_max_failed_attempts
描述 |
在对用户施加由 |
有效值 |
一个最小值为 |
默认值 |
|
dbms.security.authentication_providers
描述 |
一个包含用户和角色的安全认证提供商列表。这可以是内置的 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
|
dbms.security.authorization_providers
描述 |
一个包含用户和角色的安全授权提供商列表。这可以是内置的 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
|
dbms.security.cluster_status_auth_enabled
描述 |
访问因果集群状态端点需要授权。 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.http_access_control_allow_origin
描述 |
通过任何 HTTP 或 HTTPS 连接器发送的 Access-Control-Allow-Origin 标头的值。默认值为 '*',这允许最广泛的兼容性。请注意,此处提供的任何 URI 都会将 HTTP/HTTPS 访问限制到仅该 URI。 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.security.http_auth_allowlist
描述 |
定义了一个 HTTP 路径允许列表,其中不需要 Neo4j 认证。 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
|
dbms.security.http_strict_transport_security
描述 |
HTTP 严格传输安全 (HSTS) 响应标头的值。此标头告诉浏览器网页应仅使用 HTTPS 而非 HTTP 访问。它附加到每个 HTTPS 响应。默认不设置此值,因此不会发送“Strict-Transport-Security”标头。预期值包含“max-age”、“includeSubDomains”和“preload”等指令。 |
有效值 |
一个字符串。 |
默认值 |
dbms.security.http_static_content_security_policy_header
描述 |
定义要返回到静态端点内容的 Content-Security-Policy 标头。 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.security.key.name
描述 |
256 位 AES 加密密钥的名称,用于对称加密。 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.security.keystore.password
描述 |
访问密钥库的密码,该密钥库包含用于对称加密的 256 位 AES 加密密钥。 |
有效值 |
一个安全的字符串。 |
默认值 |
dbms.security.keystore.path
描述 |
密钥库的位置,该密钥库包含用于系统数据库中秘密对称加密的 256 位 AES 加密密钥。 |
有效值 |
一个路径。 |
默认值 |
dbms.security.ldap.authentication.attribute
描述 |
|
有效值 |
与模式 |
默认值 |
|
dbms.security.ldap.authentication.cache_enabled
描述 |
确定是否应缓存通过 LDAP 服务器进行认证的结果。缓存用于限制已成功认证的用户通过网络进行的 LDAP 请求数量。只要缓存条目处于活动状态(请参阅 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.ldap.authentication.mechanism
描述 |
LDAP 认证机制。这可以是 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.security.ldap.authentication.search_for_attribute
描述 |
通过搜索用户的唯一属性来执行认证。使用此设置需要配置 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.ldap.authentication.user_dn_template
描述 |
LDAP 用户 DN 模板。LDAP 对象通过其可分辨名称 (DN) 引用,用户 DN 是 LDAP 完全限定的唯一用户标识符。此设置用于根据登录时随认证令牌提交的用户主体生成符合 LDAP 目录模式的 LDAP DN。特殊令牌 {0} 是一个占位符,用户主体将替换到 DN 字符串中。 |
有效值 |
必须是包含“{0}”的字符串,才能理解在何处插入运行时认证主体。 |
默认值 |
|
dbms.security.ldap.authorization.access_permitted_group
描述 |
用户必须属于的 LDAP 组,才能获得对系统的任何访问权限。设置此项可限制对属于特定组的 LDAP 用户子集的访问。如果未设置此项,任何通过 LDAP 成功认证的用户都将拥有对 PUBLIC 角色的访问权限,以及通过dbms.security.ldap.authorization.group_to_role_mapping分配给他们的任何其他角色。 |
有效值 |
一个字符串。 |
默认值 |
dbms.security.ldap.authorization.group_membership_attributes
描述 |
当启用 LDAP 授权时,用户对象上包含用于映射到角色的组的属性名称列表。当 |
有效值 |
逗号分隔的列表,其中每个元素都是字符串,不能为空。 |
默认值 |
|
dbms.security.ldap.authorization.group_to_role_mapping
描述 |
LDAP 组名到 Neo4j 角色名的授权映射。映射应格式化为分号分隔的键值对列表,其中键是 LDAP 组名,值是相应的角色名逗号分隔列表。例如:group1=role1;group2=role2;group3=role3,role4,role5 您也可以在组名周围使用空格和引号,使此映射更具可读性,例如 `dbms.security.ldap.authorization.group_to_role_mapping`=\ "cn=Neo4j Read Only,cn=users,dc=example,dc=com" = reader; \ "cn=Neo4j Read-Write,cn=users,dc=example,dc=com" = publisher; \ "cn=Neo4j Schema Manager,cn=users,dc=example,dc=com" = architect; \ "cn=Neo4j Administrator,cn=users,dc=example,dc=com" = admin |
有效值 |
必须是分号分隔的键值对列表或空字符串。 |
默认值 |
dbms.security.ldap.authorization.nested_groups_enabled
描述 |
此设置确定是否将处理多个 LDAP 搜索结果(这是查找嵌套组所必需的)。如果设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.ldap.authorization.nested_groups_search_filter
描述 |
用于查找用户所属的嵌套组的搜索模板。过滤器应包含占位符标记 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.security.ldap.authorization.system_password
描述 |
当 |
有效值 |
一个安全的字符串。 |
默认值 |
dbms.security.ldap.authorization.system_username
描述 |
当 |
有效值 |
一个字符串。 |
默认值 |
dbms.security.ldap.authorization.use_system_account
描述 |
使用系统账户而不是用户自己的账户执行 LDAP 搜索以获取授权信息。如果将其设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.ldap.authorization.user_search_base
描述 |
当启用 LDAP 授权时,用于搜索用户对象的基础对象或命名上下文的名称。常见情况是,它与 |
有效值 |
不能为空的字符串。 |
默认值 |
|
dbms.security.ldap.authorization.user_search_filter
描述 |
当启用 LDAP 授权时,用于搜索用户主体的 LDAP 搜索过滤器。过滤器应包含占位符标记 {0},它将被替换为用户主体。 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.security.ldap.connection_timeout
描述 |
建立 LDAP 连接的超时时间。如果在给定时间内无法建立与 LDAP 服务器的连接,则尝试将中止。值为 0 表示使用网络协议(即 TCP)的超时值。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.security.ldap.host
描述 |
用于认证和授权的 LDAP 服务器 URL。设置格式为 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.security.ldap.read_timeout
描述 |
LDAP 读取请求(即搜索)的超时时间。如果 LDAP 服务器在给定时间内未响应,则请求将中止。值为 0 表示无限期等待响应。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
dbms.security.ldap.referral
描述 |
创建连接时的 LDAP 引用行为。可以是
|
有效值 |
一个字符串。 |
默认值 |
|
dbms.security.ldap.use_starttls
描述 |
使用机会性 TLS 与 LDAP 服务器进行安全通信。首先将与 LDAP 服务器建立一个初始不安全连接,然后发出 STARTTLS 命令以协商将连接升级到 TLS,然后才开始认证。 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.log_successful_authentication
描述 |
设置为将成功的认证事件记录到安全日志中。如果设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.logs.ldap.groups_at_debug_level_enabled
描述 |
当设置为 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.oidc.<provider>.audience
描述 |
id 令牌中 Audience (aud) 声明的预期值。 |
有效值 |
逗号分隔的列表,其中每个元素都是字符串,不能为空。 |
dbms.security.oidc.<provider>.auth_endpoint
描述 |
OIDC 授权端点。如果未提供,Neo4j 将尝试从 well_known_discovery_uri 中发现它。 |
有效值 |
URI |
dbms.security.oidc.<provider>.auth_flow
描述 |
要使用的 OIDC 流程。这通过发现端点向客户端公开。支持的值是 |
有效值 |
PKCE 或 IMPLICIT 之一。 |
默认值 |
|
dbms.security.oidc.<provider>.auth_params
描述 |
授权端点所需的额外可选参数。请改用 params。映射是分号分隔的键值对列表。例如: |
有效值 |
一个简单的键值映射模式 |
默认值 |
|
dbms.security.oidc.<provider>.authorization.group_to_role_mapping
描述 |
从 IdP 组名到 Neo4j 角色名的授权映射。映射应格式化为分号分隔的键值对列表,其中键是 IdP 组名,值是相应的角色名逗号分隔列表。例如:group1=role1;group2=role2;group3=role3,role4,role5 您也可以在组名周围使用空格和引号,使此映射更具可读性,例如 dbms.security.oidc.<provider>.authorization.group_to_role_mapping=\ "Neo4j Read Only" = reader; \ "Neo4j Read-Write" = publisher; \ "Neo4j Schema Manager" = architect; \ "Neo4j Administrator" = admin |
有效值 |
必须是分号分隔的键值对列表或空字符串。 |
dbms.security.oidc.<provider>.claims.groups
描述 |
用作 Neo4j 中组列表的声明。这些可以是直接的 Neo4j 角色,也可以使用 dbms.security.oidc.<provider>.authorization.group_to_role_mapping 进行映射。JWT 声明还可以包含作为字符串返回的单个组,以及以前要求使用的组列表。 |
有效值 |
一个字符串。 |
dbms.security.oidc.<provider>.claims.username
描述 |
用作 Neo4j 中用户名的声明。这通常是 sub,但在某些情况下,使用 email 等其他内容可能更合适。 |
有效值 |
一个字符串。 |
默认值 |
|
dbms.security.oidc.<provider>.client_id
描述 |
客户端 ID。未使用。此值以前用于验证 id_token 中的 |
有效值 |
一个字符串。 |
dbms.security.oidc.<provider>.config
描述 |
接受的值(所有可选)为
|
有效值 |
一个简单的键值映射模式 |
默认值 |
|
dbms.security.logs.oidc.jwt_claims_at_debug_level_enabled
描述 |
当设置为
|
||
有效值 |
一个布尔值。 |
||
默认值 |
|
dbms.security.oidc.<provider>.display_name
描述 |
由发现端点向客户端(Bloom、浏览器等)提供的提供商面向用户的名称。 |
有效值 |
一个字符串。 |
dbms.security.oidc.<provider>.get_groups_from_user_info
描述 |
启用后,Neo4j 从提供商用户信息端点获取组。 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.oidc.<provider>.get_username_from_user_info
描述 |
启用后,Neo4j 从提供商用户信息端点获取用户名。 |
有效值 |
一个布尔值。 |
默认值 |
|
dbms.security.oidc.<provider>.issuer
描述 |
id 令牌中 iss 声明的预期值。如果未提供,Neo4j 将尝试从 well_known_discovery_uri 中发现它。 |
有效值 |
一个字符串。 |
dbms.security.oidc.<provider>.jwks_uri
描述 |
身份提供商 JWK 公钥集的位置。如果未提供,Neo4j 将尝试从 well_known_discovery_uri 中发现它。 |
有效值 |
URI |
dbms.security.oidc.<provider>.params
描述 |
映射是分号分隔的键值对列表。例如: client_id: the SSO Idp client idenfifier. response_type: code if auth_flow is pkce or token for implicit auth_flow. scope: often containing a subset of 'email profile openid groups'. 例如: |
有效值 |
一个简单的键值映射模式 |
默认值 |
|
dbms.security.oidc.<provider>.token_endpoint
描述 |
OIDC 令牌端点。如果未提供,Neo4j 将尝试从 well_known_discovery_uri 中发现它。 |
有效值 |
URI |
dbms.security.oidc.<provider>.token_params
描述 |
令牌端点所需的额外可选查询参数。映射是分号分隔的键值对列表。例如: |
有效值 |
一个简单的键值映射模式 |
默认值 |
|
dbms.security.oidc.<provider>.user_info_uri
描述 |
身份提供商用户信息 URI。 |
有效值 |
URI |
dbms.security.oidc.<provider>.well_known_discovery_uri
描述 |
OpenID Connect 发现端点,用于获取身份提供商设置。如果未提供,则应存在 |
有效值 |
URI |
dbms.security.procedures.allowlist
描述 |
要加载的过程列表(逗号分隔)。列表可以包含完全限定的过程名称和带通配符 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
|
dbms.security.procedures.unrestricted
描述 |
允许完全访问数据库的过程和用户定义函数列表(逗号分隔)。列表可以包含完全限定的过程名称和带通配符 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
dbms.security.require_local_user
描述 |
这控制外部认证是否必须创建本地用户。如果设置为默认值( |
有效值 |
一个布尔值。 |
默认值 |
|
服务器目录设置
服务器目录设置可用于更改 Neo4j 文件的默认位置。有关更多信息,请参阅默认文件位置。
server.directories.cluster_state
描述 |
用于保存集群状态(包括 Raft 日志)的目录。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.data 解析。 |
默认值 |
|
server.directories.configuration
描述 |
配置目录的根位置。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.neo4j_home 解析。 |
默认值 |
|
server.directories.data
描述 |
数据目录的路径。您不得配置多个 Neo4j 安装使用相同的数据目录。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.neo4j_home 解析。 |
默认值 |
|
server.directories.dumps.root
描述 |
Neo4j 将存储在删除数据库时可选生成的数据库转储的根位置。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.data 解析。 |
默认值 |
|
server.directories.import
描述 |
设置 Cypher |
有效值 |
一个路径。如果为相对路径,则从 server.directories.neo4j_home 解析。 |
默认值 |
server.directories.lib
描述 |
lib 目录的路径。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.neo4j_home 解析。 |
默认值 |
|
server.directories.licenses
描述 |
许可证目录的路径。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.neo4j_home 解析。 |
默认值 |
|
server.directories.logs
描述 |
日志目录的路径。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.neo4j_home 解析。 |
默认值 |
|
server.directories.metrics
描述 |
CSV 文件的目标位置:一个目录的路径,其中将写入每个报告字段的 CSV 文件。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.neo4j_home 解析。 |
默认值 |
|
server.directories.neo4j_home
描述 |
目录设置解析的根目录。在启动时由服务器计算和设置。默认为当前工作目录。 |
有效值 |
一个绝对路径。 |
默认值 |
server.directories.plugins
描述 |
数据库插件目录的位置。如果将包含数据库过程的编译 Java JAR 文件放置在此目录中,它们将被加载。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.neo4j_home 解析。 |
默认值 |
|
server.directories.run
描述 |
运行目录的路径。此目录保存 Neo4j 的运行时状态,例如在后台运行时的一个 pid 文件。pid 文件在启动 neo4j 时创建,在停止时删除。它可能放置在 tmpfs 等内存文件系统上。 |
有效值 |
一个路径。如果为相对路径,则从 server.directories.neo4j_home 解析。 |
默认值 |
|
服务器设置
服务器设置仅适用于特定服务器,并且可以在集群/DBMS 的配置文件之间进行更改。
server.backup.exec_connector.command
描述 |
ExecDataConnector 列表要执行的命令 |
有效值 |
一个字符串。 |
默认值 |
server.backup.exec_connector.scheme
描述 |
ExecDataConnector 将匹配的方案 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
server.backup.listen_address
描述 |
备份服务器要监听的网络接口和端口。 |
有效值 |
格式为 |
默认值 |
|
server.backup.advertised_address
描述 |
备份服务器的公布地址。默认为默认公布地址与备份监听地址中定义的端口的组合。 |
有效值 |
一个套接字地址,格式为 |
默认值 |
|
server.backup.store_copy_max_retry_time_per_request
描述 |
存储复制期间每个请求的最大重试时间。在存储复制期间,常规存储文件和索引在单独的请求中下载。此配置设置了允许失败请求重发的最长时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
server.config.strict_validation.enabled
描述 |
严格配置验证将阻止数据库启动,如果 neo4j 设置命名空间(例如 dbms.、cypher. 等)中指定了未知配置选项,或者设置被多次声明。 |
有效值 |
一个布尔值。 |
默认值 |
|
server.databases.default_to_read_only
描述 |
此实例上的任何数据库是否默认为只读。如果为 false,则可以使用 server.database.read_only 将单个数据库标记为只读。如果为 true,则可以使用server.databases.writable将单个数据库标记为可写。 |
有效值 |
一个布尔值。 |
默认值 |
|
server.databases.read_only
描述 |
要阻止写入查询的数据库列表。此列表中未包含的数据库也可能仍然是只读的,具体取决于server.databases.default_to_read_only的值。 |
有效值 |
逗号分隔的集合,其中每个元素都是一个有效的数据库名称,仅包含字母字符、数字、点和破折号,长度在 3 到 63 个字符之间,以字母字符或数字开头,但不能以名称 system 开头。 |
默认值 |
server.databases.writable
描述 |
允许写入查询的数据库列表。此列表中未包含的数据库仍将允许写入查询,除非server.databases.default_to_read_only设置为 true。 |
有效值 |
逗号分隔的集合,其中每个元素都是一个有效的数据库名称,仅包含字母字符、数字、点和破折号,长度在 3 到 63 个字符之间,以字母字符或数字开头,但不能以名称 system 开头。 |
默认值 |
server.dynamic.setting.allowlist
描述 |
允许动态更改的设置名称模式列表(逗号分隔)。列表可以包含完整的设置名称和带通配符 |
有效值 |
一个逗号分隔的列表,其中每个元素都是一个字符串。 |
默认值 |
|
server.jvm.additional
描述 |
额外的 JVM 参数。参数顺序可能很重要。要使用 Java 商业功能,解锁商业功能的参数必须在配置值字符串中启用特定功能的参数之前。 |
有效值 |
一个或多个 JVM 参数。 |
默认值 |
server.panic.shutdown_on_panic
描述 |
控制在发生服务器崩溃(不可恢复的错误)时,Neo4j 进程是关闭还是继续运行。服务器崩溃后,很可能会丢失大量功能。恢复完整功能将需要重新启动 Neo4j 进程。 |
有效值 |
一个布尔值。 |
默认值 |
|
server.threads.worker_count
描述 |
Neo4j 工作线程数。此设置仅对 REST 有效,不影响 bolt-server。它设置了 neo4j-server 使用的 Jetty 服务器的工作线程数。当您计划执行多个并发 REST 请求时,可以调整此选项,以从数据库获得更高的吞吐量。您的操作系统可能会强制执行低于此处指定最大值的限制。可用处理器数量,如果机器有超过 500 个处理器,则为 500。 |
有效值 |
一个整数,范围在 |
默认值 |
事务设置
db.lock.acquisition.timeout
描述 |
获取锁的最大时间间隔。零(默认)表示超时被禁用。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
db.shutdown_transaction_end_timeout
描述 |
在允许启动的数据库关闭继续之前,等待正在运行的事务完成的最长时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
db.transaction.bookmark_ready_timeout
描述 |
等待书签所表示的数据库状态的最大时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
db.transaction.concurrent.maximum
描述 |
并发运行事务的最大数量。如果设置为 0,则禁用限制。 |
有效值 |
一个整数。 |
默认值 |
|
db.transaction.monitor.check.interval
描述 |
配置事务监视器检查之间的时间间隔。确定监视器线程检查事务超时时间表的频率。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
db.transaction.sampling.percentage
描述 |
事务采样百分比。 |
有效值 |
一个整数,范围在 |
默认值 |
|
db.transaction.timeout
描述 |
事务必须在此时间间隔内完成的最大时间。 |
有效值 |
一个持续时间(有效单位为: |
默认值 |
|
db.transaction.tracing.level
描述 |
事务创建跟踪级别。 |
有效值 |
DISABLED、SAMPLE 或 ALL 之一。 |
默认值 |
|
事务日志设置
事务日志保留了尚未应用于存储文件的事务列表。这对于恢复是必要的。以下设置配置了修剪操作后剩余的事务日志数量以及事务日志文件的大小。
另请参阅检查点设置。
db.recovery.fail_on_missing_files
描述 |
如果为 |
有效值 |
一个布尔值。 |
默认值 |
|
db.tx_log.buffer.size
描述 |
在事务日志序列化时,它们将临时存储在字节缓冲区中,该缓冲区将在事务结束时或在缓冲区满的任何时刻刷新。默认情况下,字节缓冲区的大小基于可用 CPU 数量,最小缓冲区大小为 512KB。每增加 4 个 CPU 将向缓冲区大小增加 512KB。在这种默认方案中,最大缓冲区大小为 4MB,考虑到多数据库环境中每个数据库可以有一个事务日志写入器。例如,4 个 CPU 的运行时将具有 1MB 的缓冲区大小;8 个 CPU 的运行时将具有 1MB 512KB 的缓冲区大小;12 个 CPU 的运行时将具有 2MB 的缓冲区大小。 |
有效值 |
最小为 |
默认值 |
db.tx_log.preallocate
描述 |
指定 Neo4j 是否应尝试预先分配逻辑日志文件。它通过确保有足够的空间容纳新生成的文件并避免文件级碎片来优化文件系统。 |
有效值 |
一个布尔值。 |
默认值 |
|
db.tx_log.rotation.retention_policy
描述 |
指定 Neo4j 应保留逻辑事务日志以备份数据库多长时间。例如, |
有效值 |
一个字符串,与模式 |
默认值 |
|