|| 更新动态设置 - 操作手册 - Neo4j 文档

更新动态设置

Neo4j 企业版支持在运行时更改某些配置设置,而无需重启服务。

运行时对配置的更改不会持久化。为避免在重启 Neo4j 时丢失更改,请确保同时更新 neo4j.conf。

在集群环境中,CALL dbms.setConfigValue 仅影响其运行的集群成员,并且不会传播到其他成员。如果您想更改所有集群成员的配置设置,则必须对每个成员运行该过程并更新其 neo4j.conf 文件。

发现动态设置

使用 SHOW SETTINGS 发现哪些配置值可以动态更新,或查阅配置设置参考。

示例 1. 发现动态设置
SHOW SETTINGS
YIELD name, isDynamic
WHERE isDynamic
RETURN name
+----------------------------------------------------------------+
| name                                                           |
+----------------------------------------------------------------+
| "db.checkpoint.iops.limit"                                     |
| "db.format"                                                    |
| "db.lock.acquisition.timeout"                                  |
| "db.logs.query.annotation_data_format"                         |
| "db.logs.query.early_raw_logging_enabled"                      |
| "db.logs.query.enabled"                                        |
| "db.logs.query.max_parameter_length"                           |
| "db.logs.query.obfuscate_literals"                             |
| "db.logs.query.parameter_logging_enabled"                      |
| "db.logs.query.plan_description_enabled"                       |
| "db.logs.query.threshold"                                      |
| "db.logs.query.transaction.enabled"                            |
| "db.logs.query.transaction.threshold"                          |
| "db.memory.transaction.max"                                    |
| "db.memory.transaction.total.max"                              |
| "db.track_query_cpu_time"                                      |
| "db.transaction.bookmark_ready_timeout"                        |
| "db.transaction.concurrent.maximum"                            |
| "db.transaction.sampling.percentage"                           |
| "db.transaction.timeout"                                       |
| "db.transaction.tracing.level"                                 |
| "db.tx_log.preallocate"                                        |
| "db.tx_log.rotation.retention_policy"                          |
| "db.tx_log.rotation.size"                                      |
| "dbms.cluster.network.connect_timeout"                         |
| "dbms.cypher.render_plan_description"                          |
| "dbms.cypher.transactions.default_subquery_retry_timeout"      |
| "dbms.memory.transaction.total.max"                            |
| "dbms.routing.client_side.enforce_for_domains"                 |
| "dbms.routing.reads_on_writers_enabled"                        |
| "dbms.security.key.name"                                       |
| "dbms.security.keystore.password"                              |
| "dbms.security.keystore.path"                                  |
| "dbms.security.ldap.authentication.attribute"                  |
| "dbms.security.ldap.authentication.user_dn_template"           |
| "dbms.security.ldap.authorization.access_permitted_group"      |
| "dbms.security.ldap.authorization.group_membership_attributes" |
| "dbms.security.ldap.authorization.group_to_role_mapping"       |
| "dbms.security.ldap.authorization.nested_groups_enabled"       |
| "dbms.security.ldap.authorization.nested_groups_search_filter" |
| "dbms.security.ldap.authorization.user_search_base"            |
| "dbms.security.ldap.authorization.user_search_filter"          |
| "server.cluster.catchup.connect_randomly_to_server_tags"       |
| "server.databases.default_to_read_only"                        |
| "server.databases.read_only"                                   |
| "server.databases.writable"                                    |
| "server.memory.pagecache.flush.buffer.enabled"                 |
| "server.memory.pagecache.flush.buffer.size_in_pages"           |
| "server.memory.query_cache.per_db_cache_num_entries"           |
| "server.memory.query_cache.shared_cache_num_entries"           |
+----------------------------------------------------------------+

51 rows

更新动态设置

管理员 能够在运行时更改某些配置设置,而无需重启服务。

语法

CALL dbms.setConfigValue(设置, 值)

返回

成功时无返回。

异常

未知或无效的设置名称。

该设置不是动态的,无法在运行时更改。

无效的设置值。

以下示例展示了如何动态启用查询日志记录。

示例 2. 设置配置值
CALL dbms.setConfigValue('db.logs.query.enabled', 'info')

如果传入无效值,该过程将显示相应的消息。

示例 3. 尝试设置无效配置值
CALL dbms.setConfigValue('db.logs.query.enabled', 'yes')
Failed to invoke procedure `dbms.setConfigValue`: Caused by: org.neo4j.graphdb.config.InvalidSettingException: Bad value 'yes' for setting 'db.logs.query.enabled': 'yes' not one of [OFF, INFO, VERBOSE]

要将配置值重置为默认值,请将空字符串作为 value 参数传递。

示例 4. 将配置值重置为默认值
CALL dbms.setConfigValue('db.logs.query.enabled', '')
© . This site is unofficial and not affiliated with Neo4j, Inc.