Update dynamic settingsEnterprise Edition
Neo4j Enterprise Edition supports changing some configuration settings at runtime, without restarting the service.
|
Changes to the configuration at runtime are not persisted. To avoid losing changes when restarting Neo4j, make sure you update neo4j.conf as well. In a clustered environment, |
Discover dynamic settings
Use SHOW SETTINGS to discover which configuration values can be dynamically updated, or consult the Configuration settings reference.
SHOW SETTINGS
YIELD name, isDynamic
WHERE isDynamic
RETURN name
+----------------------------------------------------------------+ | name | +----------------------------------------------------------------+ | "db.checkpoint.iops.limit" | | "db.checkpoint.throughput.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
Update dynamic settings
An administrator is able to change some configuration settings at runtime, without restarting the service.
Syntax:
CALL dbms.setConfigValue(setting, value)
Returns:
Nothing on success.
Exceptions:
Unknown or invalid setting name. |
The setting is not dynamic and cannot be changed at runtime. |
Invalid setting value. |
The following example shows how to dynamically enable query logging.
CALL dbms.setConfigValue('db.logs.query.enabled', 'info')
If an invalid value is passed, the procedure will show a message to that effect.
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]
To reset a config value to its default, pass an empty string as the value argument.
CALL dbms.setConfigValue('db.logs.query.enabled', '')