|| 更新动态设置 - 操作手册 - 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_as_json_enabled"                |
| "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.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_group"      |
| "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.