Configuration settings
This page provides a complete reference to the Neo4j configuration settings, which can be set in neo4j.conf. Refer to The neo4j.conf file for details on how to use configuration settings.
Some of the settings are labeled Dynamic, which means that they can be changed at runtime, without restarting the service. For more information on how to update dynamic configuration settings, see Update dynamic settings.
Checkpoint settings
dbms.checkpoint
Description |
Configures the general policy for when check-points should occur. The default policy is the 'periodic' check-point policy, as specified by the 'dbms.checkpoint.interval.tx' and 'dbms.checkpoint.interval.time' settings. The Neo4j Enterprise Edition provides two alternative policies: The first is the 'continuous' check-point policy, which will ignore those settings and run the check-point process all the time. The second is the 'volumetric' check-point policy, which makes a best-effort at check-pointing often enough so that the database doesn’t get too far behind on deleting old transaction logs in accordance with the 'dbms.tx_log.rotation.retention_policy' setting. |
Valid values |
dbms.checkpoint, one of [PERIODIC, CONTINUOUS, VOLUME, VOLUMETRIC] |
Default value |
|
dbms.checkpoint.interval.time
Description |
Configures the time interval between check-points. The database will not check-point more often than this (unless check pointing is triggered by a different event), but might check-point less often than this interval, if performing a check-point takes longer time than the configured interval. A check-point is a point in the transaction logs, which recovery would start from. Longer check-point intervals typically mean that recovery will take longer to complete in case of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that the database places on the system, as each check-point implies a flushing and forcing of all the store files. |
Valid values |
dbms.checkpoint.interval.time, a duration (Valid units are: |
Default value |
|
dbms.checkpoint.interval.tx
Description |
Configures the transaction interval between check-points. The database will not check-point more often than this (unless check pointing is triggered by a different event), but might check-point less often than this interval, if performing a check-point takes longer time than the configured interval. A check-point is a point in the transaction logs, which recovery would start from. Longer check-point intervals typically mean that recovery will take longer to complete in case of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that the database places on the system, as each check-point implies a flushing and forcing of all the store files. The default is '100000' for a check-point every 100000 transactions. |
Valid values |
dbms.checkpoint.interval.tx, an integer which is minimum |
Default value |
|
dbms.checkpoint.interval.volume
Description |
Configures the volume of transacton logs between check-points. The database will not check-point more often than this (unless check pointing is triggered by a different event), but might check-point less often than this interval, if performing a check-point takes longer time than the configured interval. A check-point is a point in the transaction logs, which recovery would start from. Longer check-point intervals typically mean that recovery will take longer to complete in case of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that the database places on the system, as each check-point implies a flushing and forcing of all the store files. |
Valid values |
dbms.checkpoint.interval.volume, a byte size (valid multipliers are |
Default value |
|
dbms.checkpoint.iops.limit
Dynamic
Description |
Limit the number of IOs the background checkpoint process will consume per second. This setting is advisory, is ignored in Neo4j Community Edition, and is followed to best effort in Enterprise Edition. An IO is in this case a 8 KiB (mostly sequential) write. Limiting the write IO in this way will leave more bandwidth in the IO subsystem to service random-read IOs, which is important for the response time of queries when the database cannot fit entirely in memory. The only drawback of this setting is that longer checkpoint times may lead to slightly longer recovery times in case of a database or system crash. A lower number means lower IO pressure, and consequently longer checkpoint times. Set this to -1 to disable the IOPS limit and remove the limitation entirely; this will let the checkpointer flush data as fast as the hardware will go. Removing the setting, or commenting it out, will set the default value of 600. |
Valid values |
dbms.checkpoint.iops.limit, an integer |
Default value |
|
Cluster settings
causal_clustering.catch_up_client_inactivity_timeout
Description |
The catch up protocol times out if the given duration elapses with no network activity. Every message received by the client from the server extends the time out duration. |
Valid values |
causal_clustering.catch_up_client_inactivity_timeout, a duration (Valid units are: |
Default value |
|
causal_clustering.catchup_batch_size
Description |
The maximum batch size when catching up (in unit of entries) |
Valid values |
causal_clustering.catchup_batch_size, an integer |
Default value |
|
causal_clustering.cluster_allow_reads_on_followers
Description |
Configure if the |
Valid values |
causal_clustering.cluster_allow_reads_on_followers, a boolean |
Default value |
|
causal_clustering.cluster_allow_reads_on_leader
Dynamic
Description |
Configure if the |
Valid values |
causal_clustering.cluster_allow_reads_on_leader, a boolean |
Default value |
|
causal_clustering.cluster_binding_timeout
Description |
The time allowed for a database on a Neo4j server to either join a cluster or form a new cluster with the other Neo4j Core Servers provided by |
Valid values |
causal_clustering.cluster_binding_timeout, a duration (Valid units are: |
Default value |
|
causal_clustering.cluster_topology_refresh
Description |
Time between scanning the cluster to refresh current server’s view of topology. |
Valid values |
causal_clustering.cluster_topology_refresh, a duration (Valid units are: |
Default value |
|
causal_clustering.command_applier_parallelism
Description |
Limits amount of global threads for applying commands. |
Valid values |
causal_clustering.command_applier_parallelism, an integer which is minimum |
Default value |
|
causal_clustering.connect_randomly_to_server_group
Dynamic
Description |
Comma separated list of groups to be used by the connect-randomly-to-server-group selection strategy. The connect-randomly-to-server-group strategy is used if the list of strategies ( |
Valid values |
causal_clustering.connect_randomly_to_server_group, a ',' separated list with elements of type 'a string identifying a Server Group'. |
Default value |
causal_clustering.delete_store_before_store_copy
Description |
Deletes the old store (on cores and replicas) before performing a store copy (instead of deleting it after). |
Valid values |
causal_clustering.delete_store_before_store_copy, a boolean |
Default value |
|
causal_clustering.discovery_advertised_address
Description |
Advertised cluster member discovery management communication. |
Valid values |
causal_clustering.discovery_advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address |
Default value |
|
causal_clustering.discovery_listen_address
Description |
Host and port to bind the cluster member discovery management communication. |
Valid values |
causal_clustering.discovery_listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address |
Default value |
|
causal_clustering.discovery_type
Description |
Configure the discovery type used for cluster name resolution. |
Valid values |
causal_clustering.discovery_type, one of [DNS, LIST, SRV, K8S] which depends on dbms.mode. If dbms.mode one of |
Default value |
|
causal_clustering.election_failure_detection_window
Description |
The rate at which leader elections happen. Note that due to election conflicts it might take several attempts to find a leader. The window should be significantly larger than typical communication delays to make conflicts unlikely. |
Valid values |
causal_clustering.election_failure_detection_window, a duration-range <min-max> (Valid units are: |
Default value |
|
causal_clustering.enable_pre_voting
Description |
Enable pre-voting extension to the Raft protocol (this is breaking and must match between the core cluster members) |
Valid values |
causal_clustering.enable_pre_voting, a boolean |
Default value |
|
causal_clustering.global_session_tracker_state_size
Description |
The maximum file size before the global session tracker state file is rotated (in unit of entries) |
Valid values |
causal_clustering.global_session_tracker_state_size, an integer |
Default value |
|
causal_clustering.handshake_timeout
Description |
Time out for protocol negotiation handshake. This configuration is applicable to: |
Valid values |
causal_clustering.handshake_timeout, a duration (Valid units are: |
Default value |
|
causal_clustering.in_flight_cache.max_bytes
Description |
The maximum number of bytes in the in-flight cache. This parameter limits the amount of memory that can be consumed by cache. If the bytes limit is reached, cache size will be limited even if max_entries is not exceeded. |
Valid values |
causal_clustering.in_flight_cache.max_bytes, a byte size (valid multipliers are |
Default value |
|
causal_clustering.in_flight_cache.max_entries
Description |
The maximum number of entries in the in-flight cache. Increasing size will require more memory but might improve performance in high load situations. |
Valid values |
causal_clustering.in_flight_cache.max_entries, an integer |
Default value |
|
causal_clustering.in_flight_cache.type
Description |
Type of in-flight cache. CONSECUTIVE should be used for production instances, NONE will disable cache which might be useful in specific support cases. UNBOUNDED is for internal use only. |
Valid values |
causal_clustering.in_flight_cache.type, one of [NONE, CONSECUTIVE, UNBOUNDED] |
Default value |
|
causal_clustering.initial_discovery_members
Description |
A comma-separated list of other members of the cluster to join. |
Valid values |
causal_clustering.initial_discovery_members, a ',' separated list with elements of type 'a socket address in the format 'hostname:port', 'hostname' or ':port''. |
causal_clustering.join_catch_up_max_lag
Description |
Maximum amount of lag accepted for a new follower to join the Raft group. |
Valid values |
causal_clustering.join_catch_up_max_lag, a duration (Valid units are: |
Default value |
|
causal_clustering.join_catch_up_timeout
Description |
Time out for a new member to catch up. |
Valid values |
causal_clustering.join_catch_up_timeout, a duration (Valid units are: |
Default value |
|
causal_clustering.kubernetes.address
Description |
Address for Kubernetes API. |
Valid values |
causal_clustering.kubernetes.address, a socket address in the format 'hostname:port', 'hostname' or ':port' |
Default value |
|
causal_clustering.kubernetes.ca_crt
Description |
File location of CA certificate for Kubernetes API. |
Valid values |
causal_clustering.kubernetes.ca_crt, a path |
Default value |
|
causal_clustering.kubernetes.cluster_domain
Description |
Kubernetes cluster domain. |
Valid values |
causal_clustering.kubernetes.cluster_domain, a string |
Default value |
|
causal_clustering.kubernetes.label_selector
Description |
LabelSelector for Kubernetes API. |
Valid values |
causal_clustering.kubernetes.label_selector, a string |
causal_clustering.kubernetes.namespace
Description |
File location of namespace for Kubernetes API. |
Valid values |
causal_clustering.kubernetes.namespace, a path |
Default value |
|
causal_clustering.kubernetes.service_port_name
Description |
Service port name for discovery for Kubernetes API. |
Valid values |
causal_clustering.kubernetes.service_port_name, a string |
causal_clustering.kubernetes.token
Description |
File location of token for Kubernetes API. |
Valid values |
causal_clustering.kubernetes.token, a path |
Default value |
|
causal_clustering.last_applied_state_size
Description |
The maximum file size before the storage file is rotated (in unit of entries) |
Valid values |
causal_clustering.last_applied_state_size, an integer |
Default value |
|
causal_clustering.leader_election_timeout
Deprecated
Description |
This setting is moved and enhanced into causal_clustering.leader_failure_detection_window and causal_clustering.election_failure_detection_window. |
Valid values |
causal_clustering.leader_election_timeout, a duration (Valid units are: |
Default value |
|
causal_clustering.leader_failure_detection_window
Description |
The time window within which the loss of the leader is detected and the first re-election attempt is held.The window should be significantly larger than typical communication delays to make conflicts unlikely. |
Valid values |
causal_clustering.leader_failure_detection_window, a duration-range <min-max> (Valid units are: |
Default value |
|
causal_clustering.leadership_balancing
Description |
Which strategy to use when transferring database leaderships around a cluster. This can be one of |
Valid values |
causal_clustering.leadership_balancing, one of [NO_BALANCING, EQUAL_BALANCING] |
Default value |
|
causal_clustering.leadership_priority_group
Description |
The name of a server_group whose members should be prioritized as leaders. This does not guarantee that members of this group will be leader at all times, but the cluster will attempt to transfer leadership to such a member when possible. If a database is specified using |
Valid values |
causal_clustering.leadership_priority_group, a string identifying a Server Group |
Default value |
causal_clustering.load_balancing.plugin
Description |
The load balancing plugin to use. |
Valid values |
causal_clustering.load_balancing.plugin, a string which depends on dbms.mode. If dbms.mode one of |
Default value |
|
causal_clustering.load_balancing.shuffle
Description |
Enables shuffling of the returned load balancing result. |
Valid values |
causal_clustering.load_balancing.shuffle, a boolean |
Default value |
|
causal_clustering.log_shipping_max_lag
Description |
The maximum lag allowed before log shipping pauses (in unit of entries) |
Valid values |
causal_clustering.log_shipping_max_lag, an integer |
Default value |
|
causal_clustering.log_shipping_retry_timeout
Description |
Retry time for log shipping to followers after a stall. |
Valid values |
causal_clustering.log_shipping_retry_timeout, a duration (Valid units are: |
Default value |
|
causal_clustering.max_raft_channels
Description |
The maximum number of TCP channels between two nodes to operate the raft protocol. Each database gets allocated one channel, but a single channel can be used by more than one database. |
Valid values |
causal_clustering.max_raft_channels, an integer |
Default value |
|
causal_clustering.middleware.logging.level
Description |
The level of middleware logging. |
Valid values |
causal_clustering.middleware.logging.level, one of [DEBUG, INFO, WARN, ERROR, NONE] |
Default value |
|
causal_clustering.minimum_core_cluster_size_at_formation
Description |
Minimum number of Core machines initially required to form a cluster. The cluster will form when at least this many Core members have discovered each other. |
Valid values |
causal_clustering.minimum_core_cluster_size_at_formation, an integer which is minimum |
Default value |
|
causal_clustering.minimum_core_cluster_size_at_runtime
Description |
The minimum size of the dynamically adjusted voting set (which only core members may be a part of). Adjustments to the voting set happen automatically as the availability of core members changes, due to explicit operations such as starting or stopping a member, or unintended issues such as network partitions. Note that this dynamic scaling of the voting set is generally desirable as under some circumstances it can increase the number of instance failures which may be tolerated. A majority of the voting set must be available before voting in or out members. |
Valid values |
causal_clustering.minimum_core_cluster_size_at_runtime, an integer which is minimum |
Default value |
|
causal_clustering.multi_dc_license
Description |
Enable multi-data center features. Requires appropriate licensing. |
Valid values |
causal_clustering.multi_dc_license, a boolean |
Default value |
|
causal_clustering.protocol_implementations.catchup
Description |
Catchup protocol implementation versions that this instance will allow in negotiation as a comma-separated list. Order is not relevant: the greatest value will be preferred. An empty list will allow all supported versions. Example value: "1.1, 1.2, 2.1, 2.2" |
Valid values |
causal_clustering.protocol_implementations.catchup, a ',' separated list with elements of type 'an application protocol version'. |
Default value |
causal_clustering.protocol_implementations.compression
Description |
Network compression algorithms that this instance will allow in negotiation as a comma-separated list. Listed in descending order of preference for incoming connections. An empty list implies no compression. For outgoing connections this merely specifies the allowed set of algorithms and the preference of the remote peer will be used for making the decision. Allowable values: [Gzip, Snappy, Snappy_validating, LZ4, LZ4_high_compression, LZ_validating, LZ4_high_compression_validating] |
Valid values |
causal_clustering.protocol_implementations.compression, a ',' separated list with elements of type 'a string'. |
Default value |
causal_clustering.protocol_implementations.raft
Description |
Raft protocol implementation versions that this instance will allow in negotiation as a comma-separated list. Order is not relevant: the greatest value will be preferred. An empty list will allow all supported versions. Example value: "1.0, 1.3, 2.0, 2.1" |
Valid values |
causal_clustering.protocol_implementations.raft, a ',' separated list with elements of type 'an application protocol version'. |
Default value |
causal_clustering.pull_interval
Description |
Interval of pulling updates from cores. |
Valid values |
causal_clustering.pull_interval, a duration (Valid units are: |
Default value |
|
causal_clustering.raft_advertised_address
Description |
Advertised hostname/IP address and port for the RAFT server. |
Valid values |
causal_clustering.raft_advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address |
Default value |
|
causal_clustering.raft_handler_parallelism
Description |
Limits amount of global threads shared by raft groups for handling bathing of messages and timeout events. |
Valid values |
causal_clustering.raft_handler_parallelism, an integer which is minimum |
Default value |
|
causal_clustering.raft_in_queue_max_batch_bytes
Description |
Largest batch processed by RAFT in bytes. |
Valid values |
causal_clustering.raft_in_queue_max_batch_bytes, a byte size (valid multipliers are |
Default value |
|
causal_clustering.raft_in_queue_max_bytes
Description |
Maximum number of bytes in the RAFT in-queue. |
Valid values |
causal_clustering.raft_in_queue_max_bytes, a byte size (valid multipliers are |
Default value |
|
causal_clustering.raft_listen_address
Description |
Network interface and port for the RAFT server to listen on. |
Valid values |
causal_clustering.raft_listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address |
Default value |
|
causal_clustering.raft_log_entry_prefetch_buffer.max_entries
Description |
The maximum number of entries in the raft log entry prefetch buffer. |
Valid values |
causal_clustering.raft_log_entry_prefetch_buffer.max_entries, an integer |
Default value |
|
causal_clustering.raft_log_implementation
Description |
RAFT log implementation. |
Valid values |
causal_clustering.raft_log_implementation, a string |
Default value |
|
causal_clustering.raft_log_prune_strategy
Description |
RAFT log pruning strategy that determines which logs are to be pruned. Neo4j only prunes log entries up to the last applied index, which guarantees that logs are only marked for pruning once the transactions within are safely copied over to the local transaction logs and safely committed by a majority of cluster members. Possible values are a byte size or a number of transactions (e.g., 200K txs). |
Valid values |
causal_clustering.raft_log_prune_strategy, a string |
Default value |
|
causal_clustering.raft_log_pruning_frequency
Description |
RAFT log pruning frequency. |
Valid values |
causal_clustering.raft_log_pruning_frequency, a duration (Valid units are: |
Default value |
|
causal_clustering.raft_log_reader_pool_size
Description |
RAFT log reader pool size. |
Valid values |
causal_clustering.raft_log_reader_pool_size, an integer |
Default value |
|
causal_clustering.raft_log_rotation_size
Description |
RAFT log rotation size. |
Valid values |
causal_clustering.raft_log_rotation_size, a byte size (valid multipliers are |
Default value |
|
causal_clustering.raft_membership_state_size
Description |
The maximum file size before the membership state file is rotated (in unit of entries) |
Valid values |
causal_clustering.raft_membership_state_size, an integer |
Default value |
|
causal_clustering.raft_term_state_size
Description |
The maximum file size before the term state file is rotated (in unit of entries) |
Valid values |
causal_clustering.raft_term_state_size, an integer |
Default value |
|
causal_clustering.raft_vote_state_size
Description |
The maximum file size before the vote state file is rotated (in unit of entries) |
Valid values |
causal_clustering.raft_vote_state_size, an integer |
Default value |
|
causal_clustering.refuse_to_be_leader
Deprecated
Description |
Deprecated, use dbms.databases.default_to_read_only |
Valid values |
causal_clustering.refuse_to_be_leader, a boolean |
Default value |
|
Replaced by |
causal_clustering.replicated_lease_state_size
Description |
The maximum file size before the replicated lease state file is rotated (in unit of entries) |
Valid values |
causal_clustering.replicated_lease_state_size, an integer |
Default value |
|
causal_clustering.replication_leader_await_timeout
Description |
The duration for which the replicator will await a new leader. |
Valid values |
causal_clustering.replication_leader_await_timeout, a duration (Valid units are: |
Default value |
|
causal_clustering.replication_retry_timeout_base
Description |
The initial timeout until replication is retried. The timeout will increase exponentially. |
Valid values |
causal_clustering.replication_retry_timeout_base, a duration (Valid units are: |
Default value |
|
causal_clustering.replication_retry_timeout_limit
Description |
The upper limit for the exponentially incremented retry timeout. |
Valid values |
causal_clustering.replication_retry_timeout_limit, a duration (Valid units are: |
Default value |
|
causal_clustering.server_groups
Dynamic
Description |
A list of group names for the server used when configuring load balancing and replication policies. |
Valid values |
causal_clustering.server_groups, a ',' separated list with elements of type 'a string identifying a Server Group'. |
Default value |
causal_clustering.state_machine_apply_max_batch_size
Description |
The maximum number of operations to be batched during applications of operations in the state machines. |
Valid values |
causal_clustering.state_machine_apply_max_batch_size, an integer |
Default value |
|
causal_clustering.state_machine_flush_window_size
Description |
The number of operations to be processed before the state machines flush to disk. |
Valid values |
causal_clustering.state_machine_flush_window_size, an integer |
Default value |
|
causal_clustering.status_throughput_window
Description |
Sampling window for throughput estimate reported in the status endpoint. |
Valid values |
causal_clustering.status_throughput_window, a duration (Valid units are: |
Default value |
|
causal_clustering.store_copy_chunk_size
Description |
Store copy chunk size. |
Valid values |
causal_clustering.store_copy_chunk_size, an integer which is in the range |
Default value |
|
causal_clustering.store_copy_max_retry_time_per_request
Description |
Maximum retry time per request during store copy. Regular store files and indexes are downloaded in separate requests during store copy. This configures the maximum time failed requests are allowed to resend. |
Valid values |
causal_clustering.store_copy_max_retry_time_per_request, a duration (Valid units are: |
Default value |
|
causal_clustering.store_copy_parallelism
Description |
Limits amount of global threads for store copy. |
Valid values |
causal_clustering.store_copy_parallelism, an integer which is minimum |
Default value |
|
causal_clustering.transaction_advertised_address
Description |
Advertised hostname/IP address and port for the transaction shipping server. |
Valid values |
causal_clustering.transaction_advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address. |
Default value |
|
causal_clustering.transaction_listen_address
Description |
Network interface and port for the transaction shipping server to listen on. Please note that it is also possible to run the backup client against this port so always limit access to it via the firewall and configure an ssl policy. |
Valid values |
causal_clustering.transaction_listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address |
Default value |
|
causal_clustering.unknown_address_logging_throttle
Description |
Throttle limit for logging unknown cluster member address. |
Valid values |
causal_clustering.unknown_address_logging_throttle, a duration (Valid units are: |
Default value |
|
causal_clustering.upstream_selection_strategy
Description |
An ordered list in descending preference of the strategy which read replicas use to choose the upstream server from which to pull transactional updates. |
Valid values |
causal_clustering.upstream_selection_strategy, a ',' separated list with elements of type 'a string'. |
Default value |
|
causal_clustering.user_defined_upstream_strategy
Description |
Configuration of a user-defined upstream selection strategy. The user-defined strategy is used if the list of strategies ( |
Valid values |
causal_clustering.user_defined_upstream_strategy, a string |
Default value |
Fabric settings
fabric.database.name
Description |
Name of the Fabric database. Only one Fabric database is currently supported per Neo4j instance. |
Valid values |
fabric.database.name, A valid database name containing only alphabetic characters, numbers, dots and dashes with a length between 3 and 63 characters, starting with an alphabetic character but not with the name 'system' |
fabric.driver.api
Description |
Determines which driver API will be used. ASYNC must be used when the remote instance is 3.5. |
Valid values |
fabric.driver.api, one of [RX, ASYNC] |
Default value |
|
fabric.driver.connection.connect_timeout
Description |
Socket connection timeout. A timeout of zero is treated as an infinite timeout and will be bound by the timeout configured on the operating system level. |
Valid values |
fabric.driver.connection.connect_timeout, a duration (Valid units are: |
Default value |
|
fabric.driver.connection.max_lifetime
Description |
Pooled connections older than this threshold will be closed and removed from the pool. Setting this option to a low value will cause a high connection churn and might result in a performance hit. It is recommended to set maximum lifetime to a slightly smaller value than the one configured in network equipment (load balancer, proxy, firewall, etc. can also limit maximum connection lifetime). Zero and negative values result in lifetime not being checked. |
Valid values |
fabric.driver.connection.max_lifetime, a duration (Valid units are: |
Default value |
|
fabric.driver.connection.pool.acquisition_timeout
Description |
Maximum amount of time spent attempting to acquire a connection from the connection pool. This timeout only kicks in when all existing connections are being used and no new connections can be created because maximum connection pool size has been reached. Error is raised when connection can’t be acquired within configured time. Negative values are allowed and result in unlimited acquisition timeout. Value of 0 is allowed and results in no timeout and immediate failure when connection is unavailable. |
Valid values |
fabric.driver.connection.pool.acquisition_timeout, a duration (Valid units are: |
Default value |
|
fabric.driver.connection.pool.idle_test
Description |
Pooled connections that have been idle in the pool for longer than this timeout will be tested before they are used again, to ensure they are still alive. If this option is set too low, an additional network call will be incurred when acquiring a connection, which causes a performance hit. If this is set high, no longer live connections might be used which might lead to errors. Hence, this parameter tunes a balance between the likelihood of experiencing connection problems and performance Normally, this parameter should not need tuning. Value 0 means connections will always be tested for validity. |
Valid values |
fabric.driver.connection.pool.idle_test, a duration (Valid units are: |
Default value |
|
fabric.driver.connection.pool.max_size
Description |
Maximum total number of connections to be managed by a connection pool. The limit is enforced for a combination of a host and user. Negative values are allowed and result in unlimited pool. Value of 0 is not allowed. |
Valid values |
fabric.driver.connection.pool.max_size, an integer |
Default value |
|
fabric.driver.logging.level
Description |
Sets level for driver internal logging. |
Valid values |
fabric.driver.logging.level, one of [DEBUG, INFO, WARN, ERROR, NONE] |
Default value |
|
fabric.graph.<graph ID>.database
Description |
Name of the database associated to the Fabric graph. |
Valid values |
fabric.graph.<graph ID>.database, a string |
Default value |
|
fabric.graph.<graph ID>.driver.api
Description |
Determines which driver API will be used. ASYNC must be used when the remote instance is 3.5 This setting can be used as a graph-specific override of the global setting 'fabric.driver.api' |
Valid values |
fabric.graph.<graph ID>.driver.api, one of [RX, ASYNC] |
fabric.graph.<graph ID>.driver.connection.connect_timeout
Description |
Socket connection timeout. A timeout of zero is treated as an infinite timeout and will be bound by the timeout configured on the operating system level. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.connect_timeout' |
Valid values |
fabric.graph.<graph ID>.driver.connection.connect_timeout, a duration (Valid units are: |
fabric.graph.<graph ID>.driver.connection.max_lifetime
Description |
Pooled connections older than this threshold will be closed and removed from the pool. Setting this option to a low value will cause a high connection churn and might result in a performance hit. It is recommended to set maximum lifetime to a slightly smaller value than the one configured in network equipment (load balancer, proxy, firewall, etc. can also limit maximum connection lifetime). Zero and negative values result in lifetime not being checked. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.max_lifetime' |
Valid values |
fabric.graph.<graph ID>.driver.connection.max_lifetime, a duration (Valid units are: |
fabric.graph.<graph ID>.driver.connection.pool.acquisition_timeout
Description |
Maximum amount of time spent attempting to acquire a connection from the connection pool. This timeout only kicks in when all existing connections are being used and no new connections can be created because maximum connection pool size has been reached. Error is raised when connection can’t be acquired within configured time. Negative values are allowed and result in unlimited acquisition timeout. Value of 0 is allowed and results in no timeout and immediate failure when connection is unavailable. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.pool.acquisition_timeout' |
Valid values |
fabric.graph.<graph ID>.driver.connection.pool.acquisition_timeout, a duration (Valid units are: |
fabric.graph.<graph ID>.driver.connection.pool.idle_test
Description |
Pooled connections that have been idle in the pool for longer than this timeout will be tested before they are used again, to ensure they are still alive. If this option is set too low, an additional network call will be incurred when acquiring a connection, which causes a performance hit. If this is set high, no longer live connections might be used which might lead to errors. Hence, this parameter tunes a balance between the likelihood of experiencing connection problems and performance Normally, this parameter should not need tuning. Value 0 means connections will always be tested for validity. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.pool.idle_test' |
Valid values |
fabric.graph.<graph ID>.driver.connection.pool.idle_test, a duration (Valid units are: |
fabric.graph.<graph ID>.driver.connection.pool.max_size
Description |
Maximum total number of connections to be managed by a connection pool. The limit is enforced for a combination of a host and user. Negative values are allowed and result in unlimited pool. Value of 0 is not allowed. This setting can be used as a graph-specific override of the global setting 'fabric.driver.connection.pool.max_size' |
Valid values |
fabric.graph.<graph ID>.driver.connection.pool.max_size, an integer |
fabric.graph.<graph ID>.driver.logging.leaked_sessions
Description |
Enables logging of leaked driver session. |
Valid values |
fabric.graph.<graph ID>.driver.logging.leaked_sessions, a boolean |
fabric.graph.<graph ID>.driver.logging.level
Description |
Sets level for driver internal logging. This setting can be used as a graph-specific override of the global setting 'fabric.driver.logging.level' |
Valid values |
fabric.graph.<graph ID>.driver.logging.level, one of [DEBUG, INFO, WARN, ERROR, NONE] |
fabric.graph.<graph ID>.driver.ssl_enabled
Description |
SSL for Fabric drivers is configured using 'fabric' SSL policy.This setting can be used to instruct the driver not to use SSL even though 'fabric' SSL policy is configured.The driver will use SSL if 'fabric' SSL policy is configured and this setting is set to 'true' |
Valid values |
fabric.graph.<graph ID>.driver.ssl_enabled, a boolean |
Default value |
|
fabric.graph.<graph ID>.name
Description |
Name assigned to the Fabric graph. The name can be used in Fabric queries. |
Valid values |
fabric.graph.<graph ID>.name, A valid graph name. Containing only alphabetic characters, numbers, dots and dashes, with a length between 3 and 63 characters. It should be starting with an alphabetic character. The name 'graph' is reserved. |
Description |
URI of the Neo4j DBMS hosting the database associated to the Fabric graph. Example: neo4j://somewhere:7687 A comma separated list of URIs is acceptable. This is useful when the Fabric graph is hosted on a cluster and more that one bootstrap address needs to be provided in order to avoid a single point of failure. The provided addresses will be considered as an initial source of a routing table. Example: neo4j://core-1:1111,neo4j://core-2:2222. |
Valid values |
fabric.graph.<graph ID>.uri, a ',' separated list with elements of type 'a URI'. |
fabric.routing.servers
Dynamic
Description |
A comma-separated list of Fabric instances that form a routing group. A driver will route transactions to available routing group members. A Fabric instance is represented by its Bolt connector address. |
Valid values |
fabric.routing.servers, a ',' separated list with elements of type 'a socket address in the format 'hostname:port', 'hostname' or ':port''. |
fabric.routing.ttl
Description |
The time to live (TTL) of a routing table for fabric routing group. |
Valid values |
fabric.routing.ttl, a duration (Valid units are: |
Default value |
|
fabric.stream.buffer.low_watermark
Description |
Number of records in prefetching buffer that will trigger prefetching again. This is strongly related to fabric.stream.buffer.size |
Valid values |
fabric.stream.buffer.low_watermark, an integer which is minimum |
Default value |
|
fabric.stream.buffer.size
Description |
Maximal size of a buffer used for pre-fetching result records of remote queries. To compensate for latency to remote databases, the Fabric execution engine pre-fetches records needed for local executions. This limit is enforced per fabric query. If a fabric query uses multiple remote stream at the same time, this setting represents the maximal number of pre-fetched records counted together for all such remote streams. |
Valid values |
fabric.stream.buffer.size, an integer which is minimum |
Default value |
|
fabric.stream.concurrency
Description |
Maximal concurrency within Fabric queries. Limits the number of iterations of each subquery that are executed concurrently. Higher concurrency may consume more memory and network resources simultaneously, while lower concurrency may force sequential execution, requiring more time. |
Valid values |
fabric.stream.concurrency, an integer which is minimum |
Default value |
|
Connection settings
dbms.default_advertised_address
Description |
Default hostname or IP address the server uses to advertise itself. |
Valid values |
dbms.default_advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port' which has no specified port |
Default value |
|
dbms.default_listen_address
Description |
Default network interface to listen for incoming connections. To listen for connections on all interfaces, use "0.0.0.0". |
Valid values |
dbms.default_listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port' which has no specified port |
Default value |
|
dbms.http_enabled_modules
Description |
Defines the set of modules loaded into the Neo4j web server. Options include TRANSACTIONAL_ENDPOINTS, BROWSER, UNMANAGED_EXTENSIONS and ENTERPRISE_MANAGEMENT_ENDPOINTS (if applicable). |
Valid values |
dbms.http_enabled_modules, a ',' separated set with elements of type 'one of [TRANSACTIONAL_ENDPOINTS, UNMANAGED_EXTENSIONS, BROWSER, ENTERPRISE_MANAGEMENT_ENDPOINTS]'. |
Default value |
|
dbms.routing.advertised_address
Description |
The advertised address for the intra-cluster routing connector. |
Valid values |
dbms.routing.advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address |
Default value |
|
dbms.routing.client_side.enforce_for_domains
Dynamic
Description |
Always use client side routing (regardless of the default router) for neo4j:// protocol connections to these domains. A comma-separated list of domains. Wildcards (*) are supported. |
Valid values |
dbms.routing.client_side.enforce_for_domains, a ',' separated set with elements of type 'a string'. |
Default value |
dbms.routing.default_router
Description |
Routing strategy for neo4j:// protocol connections.
Default is |
Valid values |
dbms.routing.default_router, one of [SERVER, CLIENT] |
Default value |
|
dbms.routing.driver.api
Description |
Determines which driver API will be used. |
Valid values |
dbms.routing.driver.api, one of [RX, ASYNC] |
Default value |
|
dbms.routing.driver.connection.connect_timeout
Description |
Socket connection timeout. A timeout of zero is treated as an infinite timeout and will be bound by the timeout configured on the operating system level. |
Valid values |
dbms.routing.driver.connection.connect_timeout, a duration (Valid units are: |
Default value |
|
dbms.routing.driver.connection.max_lifetime
Description |
Pooled connections older than this threshold will be closed and removed from the pool. Setting this option to a low value will cause a high connection churn and might result in a performance hit. It is recommended to set maximum lifetime to a slightly smaller value than the one configured in network equipment (load balancer, proxy, firewall, etc. can also limit maximum connection lifetime). Zero and negative values result in lifetime not being checked. |
Valid values |
dbms.routing.driver.connection.max_lifetime, a duration (Valid units are: |
Default value |
|
dbms.routing.driver.connection.pool.acquisition_timeout
Description |
Maximum amount of time spent attempting to acquire a connection from the connection pool. This timeout only kicks in when all existing connections are being used and no new connections can be created because maximum connection pool size has been reached. Error is raised when connection can’t be acquired within configured time. Negative values are allowed and result in unlimited acquisition timeout. Value of 0 is allowed and results in no timeout and immediate failure when connection is unavailable. |
Valid values |
dbms.routing.driver.connection.pool.acquisition_timeout, a duration (Valid units are: |
Default value |
|
dbms.routing.driver.connection.pool.idle_test
Description |
Pooled connections that have been idle in the pool for longer than this timeout will be tested before they are used again, to ensure they are still alive. If this option is set too low, an additional network call will be incurred when acquiring a connection, which causes a performance hit. If this is set high, no longer live connections might be used which might lead to errors. Hence, this parameter tunes a balance between the likelihood of experiencing connection problems and performance Normally, this parameter should not need tuning. Value 0 means connections will always be tested for validity. |
Valid values |
dbms.routing.driver.connection.pool.idle_test, a duration (Valid units are: |
Default value |
|
dbms.routing.driver.connection.pool.max_size
Description |
Maximum total number of connections to be managed by a connection pool. The limit is enforced for a combination of a host and user. Negative values are allowed and result in unlimited pool. Value of 0 is not allowed. |
Valid values |
dbms.routing.driver.connection.pool.max_size, an integer |
Default value |
|
dbms.routing.driver.logging.level
Description |
Sets level for driver internal logging. |
Valid values |
dbms.routing.driver.logging.level, one of [DEBUG, INFO, WARN, ERROR, NONE] |
Default value |
|
dbms.routing.enabled
Description |
Enable server-side routing in clusters using an additional bolt connector. When configured, this allows requests to be forwarded from one cluster member to another, if the requests can’t be satisfied by the first member (e.g. write requests received by a non-leader). |
Valid values |
dbms.routing.enabled, a boolean |
Default value |
|
dbms.routing.listen_address
Description |
The address the routing connector should bind to. |
Valid values |
dbms.routing.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address |
Default value |
|
dbms.routing_ttl
Description |
How long callers should cache the response of the routing procedure |
Valid values |
dbms.routing_ttl, a duration (Valid units are: |
Default value |
|
dbms.connector.bolt.advertised_address
Description |
Advertised address for this connector. |
Valid values |
dbms.connector.bolt.advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address |
Default value |
|
dbms.connector.bolt.connection_keep_alive
Description |
The maximum time to wait before sending a NOOP on connections waiting for responses from active ongoing queries.The minimum value is 1 millisecond. |
Valid values |
dbms.connector.bolt.connection_keep_alive, a duration (Valid units are: |
Default value |
|
dbms.connector.bolt.connection_keep_alive_for_requests
Description |
The type of messages to enable keep-alive messages for (ALL, STREAMING or OFF) |
Valid values |
dbms.connector.bolt.connection_keep_alive_for_requests, one of [ALL, STREAMING, OFF] |
Default value |
|
dbms.connector.bolt.connection_keep_alive_probes
Description |
The total amount of probes to be missed before a connection is considered stale.The minimum for this value is 1. |
Valid values |
dbms.connector.bolt.connection_keep_alive_probes, an integer which is minimum |
Default value |
|
dbms.connector.bolt.connection_keep_alive_streaming_scheduling_interval
Description |
The interval between every scheduled keep-alive check on all connections with active queries. Zero duration turns off keep-alive service. |
Valid values |
dbms.connector.bolt.connection_keep_alive_streaming_scheduling_interval, a duration (Valid units are: |
Default value |
|
dbms.connector.bolt.enabled
Description |
Enable the bolt connector. |
Valid values |
dbms.connector.bolt.enabled, a boolean |
Default value |
|
dbms.connector.bolt.listen_address
Description |
Address the connector should bind to. |
Valid values |
dbms.connector.bolt.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address |
Default value |
|
dbms.connector.bolt.ocsp_stapling_enabled
Description |
Enable server OCSP stapling for bolt and http connectors. |
Valid values |
dbms.connector.bolt.ocsp_stapling_enabled, a boolean |
Default value |
|
dbms.connector.bolt.thread_pool_keep_alive
Description |
The maximum time an idle thread in the thread pool bound to this connector will wait for new tasks. |
Valid values |
dbms.connector.bolt.thread_pool_keep_alive, a duration (Valid units are: |
Default value |
|
dbms.connector.bolt.thread_pool_max_size
Description |
The maximum number of threads allowed in the thread pool bound to this connector. |
Valid values |
dbms.connector.bolt.thread_pool_max_size, an integer |
Default value |
|
dbms.connector.bolt.thread_pool_min_size
Description |
The number of threads to keep in the thread pool bound to this connector, even if they are idle. |
Valid values |
dbms.connector.bolt.thread_pool_min_size, an integer |
Default value |
|
dbms.connector.bolt.tls_level
Description |
Encryption level to require this connector to use. |
Valid values |
dbms.connector.bolt.tls_level, one of [REQUIRED, OPTIONAL, DISABLED] |
Default value |
|
dbms.connector.bolt.unsupported_thread_pool_shutdown_wait_time
Description |
The maximum time to wait for the thread pool to finish processing its pending jobs and shutdown. |
Valid values |
dbms.connector.bolt.unsupported_thread_pool_shutdown_wait_time, a duration (Valid units are: |
Default value |
|
dbms.connector.http.advertised_address
Description |
Advertised address for this connector. |
Valid values |
dbms.connector.http.advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address |
Default value |
|
dbms.connector.http.enabled
Description |
Enable the http connector. |
Valid values |
dbms.connector.http.enabled, a boolean |
Default value |
|
dbms.connector.http.listen_address
Description |
Address the connector should bind to. |
Valid values |
dbms.connector.http.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address |
Default value |
|
dbms.connector.https.advertised_address
Description |
Advertised address for this connector. |
Valid values |
dbms.connector.https.advertised_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_advertised_address |
Default value |
|
dbms.connector.https.enabled
Description |
Enable the https connector. |
Valid values |
dbms.connector.https.enabled, a boolean |
Default value |
|
dbms.connector.https.listen_address
Description |
Address the connector should bind to. |
Valid values |
dbms.connector.https.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address |
Default value |
|
Cypher settings
cypher.default_language_version
Description |
Set this to specify the default parser (language version). |
Valid values |
cypher.default_language_version, one of [default, 3.5, 4.3, 4.4] |
Default value |
|
cypher.forbid_exhaustive_shortestpath
Description |
This setting is associated with performance optimization. Set this to |
Valid values |
cypher.forbid_exhaustive_shortestpath, a boolean |
Default value |
|
cypher.forbid_shortestpath_common_nodes
Description |
This setting is associated with performance optimization. The shortest path algorithm does not work when the start and end nodes are the same. With this setting set to |
Valid values |
cypher.forbid_shortestpath_common_nodes, a boolean |
Default value |
|
cypher.hints_error
Description |
Set this to specify the behavior when Cypher planner or runtime hints cannot be fulfilled. If true, then non-conformance will result in an error, otherwise only a warning is generated. |
Valid values |
cypher.hints_error, a boolean |
Default value |
|
cypher.lenient_create_relationship
Description |
Set this to change the behavior for Cypher create relationship when the start or end node is missing. By default this fails the query and stops execution, but by setting this flag the create operation is simply not performed and execution continues. |
Valid values |
cypher.lenient_create_relationship, a boolean |
Default value |
|
cypher.min_replan_interval
Description |
The minimum time between possible cypher query replanning events. After this time, the graph statistics will be evaluated, and if they have changed by more than the value set by cypher.statistics_divergence_threshold, the query will be replanned. If the statistics have not changed sufficiently, the same interval will need to pass before the statistics will be evaluated again. Each time they are evaluated, the divergence threshold will be reduced slightly until it reaches 10% after 7h, so that even moderately changing databases will see query replanning after a sufficiently long time interval. |
Valid values |
cypher.min_replan_interval, a duration (Valid units are: |
Default value |
|
cypher.planner
Description |
Set this to specify the default planner for the default language version. |
Valid values |
cypher.planner, one of [DEFAULT, COST] |
Default value |
|
cypher.statistics_divergence_threshold
Description |
The threshold for statistics above which a plan is considered stale. If any of the underlying statistics used to create the plan have changed more than this value, the plan will be considered stale and will be replanned. Change is calculated as This means that a value of This interval is defined by |
Valid values |
cypher.statistics_divergence_threshold, a double which is in the range |
Default value |
|
Database settings
dbms.filewatcher.enabled
Description |
Allows the enabling or disabling of the file watcher service. This is an auxiliary service but should be left enabled in almost all cases. |
Valid values |
dbms.filewatcher.enabled, a boolean |
Default value |
|
dbms.record_format
Description |
Database record format. Valid values are blank(no value, default), |
Valid values |
dbms.record_format, a string |
Default value |
|
dbms.relationship_grouping_threshold
Description |
Relationship count threshold for considering a node to be dense. |
Valid values |
dbms.relationship_grouping_threshold, an integer which is minimum |
Default value |
|
dbms.store.files.preallocate
Description |
Specify if Neo4j should try to preallocate store files as they grow. |
Valid values |
dbms.store.files.preallocate, a boolean |
Default value |
|
db.temporal.timezone
Description |
Database timezone for temporal functions. All Time and DateTime values that are created without an explicit timezone will use this configured default timezone. |
Valid values |
db.temporal.timezone, a string describing a timezone, either described by offset (e.g. |
Default value |
|
dbms.track_query_cpu_time
Enterprise Edition Dynamic
Description |
Enables or disables tracking of how much time a query spends actively executing on the CPU. Calling |
Valid values |
dbms.track_query_cpu_time, a boolean |
Default value |
|
dbms.track_query_allocation
Dynamic
Description |
Enables or disables tracking of how many bytes are allocated by the execution of a query. If enabled, calling |
Valid values |
dbms.track_query_allocation, a boolean |
Default value |
|
DBMS settings
dbms.backup.enabled
Description |
Enable support for running online backups. |
Valid values |
dbms.backup.enabled, a boolean |
Default value |
|
dbms.backup.incremental.strategy
Dynamic
Description |
Strategy for incremental backup. START_TIME means that this server will send transactions until the time of when the backup started has been reached. UNBOUNDED will keep sending until all committed transactions have been sent, even if they where committed after the backup job started. |
Valid values |
dbms.backup.incremental.strategy, one of [UNBOUNDED, START_TIME] |
Default value |
|
dbms.backup.listen_address
Description |
Network interface and port for the backup server to listen on. |
Valid values |
dbms.backup.listen_address, a socket address in the format 'hostname:port', 'hostname' or ':port' |
Default value |
|
dbms.config.strict_validation
Description |
A strict configuration validation will prevent the database from starting up if unknown configuration options are specified in the neo4j settings namespace (such as dbms., cypher., etc). |
Valid values |
dbms.config.strict_validation, a boolean |
Default value |
|
dbms.databases.default_to_read_only
Dynamic
Description |
Whether or not any database on this instance are read_only by default. If false, individual databases may be marked as read_only using dbms.database.read_only. If true, individual databases may be marked as writable using dbms.databases.writable. |
Valid values |
dbms.databases.default_to_read_only, a boolean |
Default value |
|
dbms.databases.read_only
Dynamic
Description |
List of databases for which to prevent write queries. Databases not included in this list maybe read_only anyway depending upon the value of dbms.databases.default_to_read_only. |
Valid values |
dbms.databases.read_only, a ',' separated set with elements of type 'A valid database name containing only alphabetic characters, numbers, dots and dashes with a length between 3 and 63 characters, starting with an alphabetic character but not with the name 'system''. which Value 'system' can’t be included in read only databases collection! |
Default value |
dbms.databases.writable
Dynamic
Description |
List of databases for which to allow write queries. Databases not included in this list will allow write queries anyway, unless dbms.databases.default_to_read_only is set to true. |
Valid values |
dbms.databases.writable, a ',' separated set with elements of type 'A valid database name containing only alphabetic characters, numbers, dots and dashes with a length between 3 and 63 characters, starting with an alphabetic character but not with the name 'system''. |
Default value |
dbms.dynamic.setting.allowlist
Description |
A list of setting name patterns (comma separated) that are allowed to be dynamically changed. The list may contain both full setting names, and partial names with the wildcard '*'. If this setting is left empty all dynamic settings updates will be blocked. |
Valid values |
dbms.dynamic.setting.allowlist, a ',' separated list with elements of type 'a string'. |
Default value |
|
dbms.dynamic.setting.whitelist
Deprecated in 4.2
Description |
A list of setting name patterns (comma separated) that are allowed to be dynamically changed. The list may contain both full setting names, and partial names with the wildcard '*'. If this setting is left empty all dynamic settings updates will be blocked. |
Valid values |
dbms.dynamic.setting.whitelist, a ',' separated list with elements of type 'a string'. |
Replaced by |
|
Default value |
|
dbms.jvm.additional
Description |
Additional JVM arguments. Argument order can be significant. To use a Java commercial feature, the argument to unlock commercial features must precede the argument to enable the specific feature in the config value string. |
Valid values |
dbms.jvm.additional, one or more jvm arguments |
dbms.panic.shutdown_on_panic
Enterprise Edition
Description |
If there is a Database Management System Panic (an irrecoverable error) should the neo4j process shut down or continue running. Following a DbMS panic it is likely that a significant amount of functionality will be lost. Recovering full functionality will require a Neo4j restart. This feature is available in Neo4j Enterprise Edition. |
Valid values |
dbms.panic.shutdown_on_panic, a boolean |
Default value |
|
dbms.threads.worker_count
Description |
Number of Neo4j worker threads. This setting is only valid for REST, and does not influence bolt-server. It sets the amount of worker threads for the Jetty server used by neo4j-server. This option can be tuned when you plan to execute multiple, concurrent REST requests, with the aim of getting more throughput from the database. Your OS might enforce a lower limit than the maximum value specified here. |
Valid values |
dbms.threads.worker_count, an integer which is in the range |
Default value |
|
dbms.unmanaged_extension_classes
Description |
Comma-separated list of <classname>=<mount point> for unmanaged extensions. |
Valid values |
dbms.unmanaged_extension_classes, a ',' separated list with elements of type '<classname>=<mount point> string'. |
Default value |
dbms.upgrade_max_processors
Dynamic
Description |
Max number of processors used when upgrading the store. Defaults to the number of processors available to the JVM. There is a certain amount of minimum threads needed so for that reason there is no lower bound for this value. For optimal performance this value shouldn’t be greater than the number of available processors. |
Valid values |
dbms.upgrade_max_processors, an integer which is minimum |
Default value |
|
dbms.windows_service_name
Description |
Name of the Windows Service managing Neo4j when installed using |
Valid values |
dbms.windows_service_name, a string |
Default value |
|
dbms.default_database
Description |
Name of the default database (aliases are not supported). |
Valid values |
dbms.default_database, A valid database name containing only alphabetic characters, numbers, dots and dashes with a length between 3 and 63 characters, starting with an alphabetic character but not with the name 'system' |
Default value |
|
dbms.db.timezone
Description |
Database timezone. Among other things, this setting influences which timezone the logs and monitoring procedures use. |
Valid values |
dbms.db.timezone, one of [UTC, SYSTEM] |
Default value |
|
dbms.max_databases
Description |
The maximum number of databases. |
Valid values |
dbms.max_databases, a long which is minimum |
Default value |
|
dbms.mode
Description |
Configure the operating mode of the database — 'SINGLE' for stand-alone operation, 'CORE' for operating as a core member of a Causal Cluster, or 'READ_REPLICA' for operating as a read replica member of a Causal Cluster. Only SINGLE mode is allowed in Community. |
Valid values |
dbms.mode, one of [SINGLE, CORE, READ_REPLICA] |
Default value |
|
dbms.read_only
Deprecated
Description |
Only allow read operations from this Neo4j instance. This mode still requires write access to the directory for lock purposes. |
Valid values |
dbms.read_only, a boolean |
Default value |
|
Replaced by |
dbms.clustering.enable
Deprecated
Description |
|
Valid values |
dbms.clustering.enable, a boolean |
Default value |
|
Description |
Whether to allow a system graph upgrade to happen automatically in single instance mode (dbms.mode=SINGLE). Default is true. In clustering environments no automatic upgrade will happen (dbms.mode=CORE or dbms.mode=READ_REPLICA). If set to false, or when in a clustering environment, it is necessary to call the procedure |
Valid values |
dbms.allow_single_automatic_upgrade, a boolean |
Default value |
|
dbms.allow_upgrade
Dynamic
Description |
Whether to allow a store upgrade in case the current version of the database starts against an older version of the store. |
Valid values |
dbms.allow_upgrade, a boolean |
Default value |
|
dbms.reconciler.max_backoff
Description |
Defines the maximum amount of time to wait before retrying after the dbms fails to reconcile a database to its desired state. |
Valid values |
dbms.reconciler.max_backoff, a duration (Valid units are: |
Default value |
|
dbms.reconciler.max_parallelism
Description |
Defines the level of parallelism employed by the reconciler. By default the parallelism equals the number of available processors or 8 (whichever is smaller). If configured as 0, the parallelism of the reconciler will be unbounded. |
Valid values |
dbms.reconciler.max_parallelism, an integer which is minimum |
Default value |
|
dbms.reconciler.may_retry
Description |
Defines whether the dbms may retry reconciling a database to its desired state. |
Valid values |
dbms.reconciler.may_retry, a boolean |
Default value |
|
dbms.reconciler.min_backoff
Description |
Defines the minimum amount of time to wait before retrying after the dbms fails to reconcile a database to its desired state. |
Valid values |
dbms.reconciler.min_backoff, a duration (Valid units are: |
Default value |
|
dbms.directories.cluster_state
Description |
Directory to hold cluster state including Raft log. |
Valid values |
dbms.directories.cluster_state, a path. If relative it is resolved from dbms.directories.data |
Default value |
|
dbms.directories.data
Description |
Path of the data directory. You must not configure more than one Neo4j installation to use the same data directory. |
Valid values |
dbms.directories.data, a path. If relative it is resolved from dbms.directories.neo4j_home |
Default value |
|
dbms.directories.dumps.root
Description |
Root location where Neo4j will store database dumps optionally produced when dropping said databases. |
Valid values |
dbms.directories.dumps.root, a path. If relative it is resolved from dbms.directories.data |
Default value |
|
dbms.directories.import
Description |
Sets the root directory for file URLs used with the Cypher |
Valid values |
dbms.directories.import, a path. If relative it is resolved from dbms.directories.neo4j_home |
dbms.directories.lib
Description |
Path of the lib directory. |
Valid values |
dbms.directories.lib, a path. If relative it is resolved from dbms.directories.neo4j_home |
Default value |
|
dbms.directories.licenses
Description |
Path of the licenses directory. |
Valid values |
dbms.directories.licenses, a path. If relative it is resolved from dbms.directories.neo4j_home |
Default value |
|
dbms.directories.logs
Description |
Path of the logs directory. |
Valid values |
dbms.directories.logs, a path. If relative it is resolved from dbms.directories.neo4j_home |
Default value |
|
dbms.directories.metrics
Description |
The target location of the CSV files: a path to a directory wherein a CSV file per reported field will be written. |
Valid values |
dbms.directories.metrics, a path. If relative it is resolved from dbms.directories.neo4j_home |
Default value |
|
dbms.directories.neo4j_home
Description |
Root relative to which directory settings are resolved. |
Valid values |
dbms.directories.neo4j_home, a path which is absolute |
Default value |
|
dbms.directories.plugins
Description |
Location of the database plugin directory. Compiled Java JAR files that contain database procedures will be loaded if they are placed in this directory. |
Valid values |
dbms.directories.plugins, a path. If relative it is resolved from dbms.directories.neo4j_home |
Default value |
|
dbms.directories.run
Description |
Path of the run directory. This directory holds Neo4j’s runtime state, such as a pidfile when it is running in the background. The pidfile is created when starting neo4j and removed when stopping it. It may be placed on an in-memory filesystem such as tmpfs. |
Valid values |
dbms.directories.run, a path. If relative it is resolved from dbms.directories.neo4j_home |
Default value |
|
dbms.directories.script.root
Description |
Root location where Neo4j will store scripts for configured databases. |
Valid values |
dbms.directories.script.root, a path. If relative it is resolved from dbms.directories.data |
Default value |
|
dbms.directories.transaction.logs.root
Description |
Root location where Neo4j will store transaction logs for configured databases. |
Valid values |
dbms.directories.transaction.logs.root, a path. If relative it is resolved from dbms.directories.data |
Default value |
|
Import settings
dbms.import.csv.buffer_size
Description |
The size of the internal buffer in bytes used by |
Valid values |
dbms.import.csv.buffer_size, a long which is minimum |
Default value |
|
dbms.import.csv.legacy_quote_escaping
Description |
Selects whether to conform to the standard https://tools.ietf.org/html/rfc4180 for interpreting escaped quotation characters in CSV files loaded using |
Valid values |
dbms.import.csv.legacy_quote_escaping, a boolean |
Default value |
|
Index settings
dbms.index.default_schema_provider
Deprecated
Description |
Index provider to use for newly created schema indexes. An index provider may store different value types in separate physical indexes. native-btree-1.0: All value types and arrays of all value types, even composite keys, are stored in one native index. lucene+native-3.0: Like native-btree-1.0 but single property strings are stored in Lucene. A native index has faster updates, less heap and CPU usage compared to a Lucene index. A native index has some limitations around key size and slower execution of CONTAINS and ENDS WITH string index queries, compared to a Lucene index. Deprecated: Which index provider to use will be a fully internal concern. |
Valid values |
dbms.index.default_schema_provider, a string |
Default value |
|
dbms.index.fulltext.default_analyzer
Description |
The name of the analyzer that the fulltext indexes should use by default. |
Valid values |
dbms.index.fulltext.default_analyzer, a string |
Default value |
|
dbms.index.fulltext.eventually_consistent
Description |
Whether or not fulltext indexes should be eventually consistent by default or not. |
Valid values |
dbms.index.fulltext.eventually_consistent, a boolean |
Default value |
|
dbms.index.fulltext.eventually_consistent_index_update_queue_max_length
Description |
The eventually_consistent mode of the fulltext indexes works by queueing up index updates to be applied later in a background thread. This newBuilder sets an upper bound on how many index updates are allowed to be in this queue at any one point in time. When it is reached, the commit process will slow down and wait for the index update applier thread to make some more room in the queue. |
Valid values |
dbms.index.fulltext.eventually_consistent_index_update_queue_max_length, an integer which is in the range |
Default value |
|
dbms.index_sampling.background_enabled
Description |
Enable or disable background index sampling. |
Valid values |
dbms.index_sampling.background_enabled, a boolean |
Default value |
|
dbms.index_sampling.sample_size_limit
Description |
Index sampling chunk size limit. |
Valid values |
dbms.index_sampling.sample_size_limit, an integer which is in the range |
Default value |
|
dbms.index_sampling.update_percentage
Description |
Percentage of index updates of total index size required before sampling of a given index is triggered. |
Valid values |
dbms.index_sampling.update_percentage, an integer which is minimum |
Default value |
|
Logging settings
dbms.logs.debug.format
Description |
Log format to use for debug log. |
Valid values |
dbms.logs.debug.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format |
dbms.logs.debug.level
Dynamic
Description |
Debug log level threshold. |
Valid values |
dbms.logs.debug.level, one of [DEBUG, INFO, WARN, ERROR, NONE] |
Default value |
|
dbms.logs.debug.path
Description |
Path to the debug log file. |
Valid values |
dbms.logs.debug.path, a path. If relative it is resolved from dbms.directories.logs |
Default value |
|
dbms.logs.debug.rotation.delay
Deprecated
Description |
Minimum time interval after last rotation of the debug log before it may be rotated again. |
Valid values |
dbms.logs.debug.rotation.delay, a duration (Valid units are: |
Default value |
|
dbms.logs.debug.rotation.keep_number
Description |
Maximum number of history files for the debug log. |
Valid values |
dbms.logs.debug.rotation.keep_number, an integer which is minimum |
Default value |
|
dbms.logs.debug.rotation.size
Description |
Threshold for rotation of the debug log. |
Valid values |
dbms.logs.debug.rotation.size, a byte size (valid multipliers are |
Default value |
|
dbms.logs.default_format
Description |
Default log format. Will apply to all logs unless overridden. |
Valid values |
dbms.logs.default_format, one of [PLAIN, JSON] |
Default value |
|
dbms.logs.gc.enabled
Description |
Enable GC Logging. |
Valid values |
dbms.logs.gc.enabled, a boolean |
Default value |
|
dbms.logs.gc.options
Description |
GC Logging Options. |
Valid values |
dbms.logs.gc.options, a string |
Default value |
|
dbms.logs.gc.rotation.keep_number
Description |
Number of GC logs to keep. |
Valid values |
dbms.logs.gc.rotation.keep_number, an integer |
Default value |
|
dbms.logs.gc.rotation.size
Description |
Size of each GC log that is kept. |
Valid values |
dbms.logs.gc.rotation.size, a byte size (valid multipliers are |
Default value |
|
dbms.logs.http.enabled
Description |
Enable HTTP request logging. |
Valid values |
dbms.logs.http.enabled, a boolean |
Default value |
|
dbms.logs.http.format
Description |
Log format to use for http logs. |
Valid values |
dbms.logs.http.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format |
dbms.logs.http.path
Description |
Path to HTTP request log. |
Valid values |
dbms.logs.http.path, a path. If relative it is resolved from dbms.directories.logs |
Default value |
|
dbms.logs.http.rotation.keep_number
Description |
Number of HTTP logs to keep. |
Valid values |
dbms.logs.http.rotation.keep_number, an integer |
Default value |
|
dbms.logs.http.rotation.size
Description |
Size of each HTTP log that is kept. |
Valid values |
dbms.logs.http.rotation.size, a byte size (valid multipliers are |
Default value |
|
dbms.logs.query.allocation_logging_enabled
Dynamic
Description |
Log allocated bytes for the executed queries being logged. The logged number is cumulative over the duration of the query, i.e. for memory intense or long-running queries the value may be larger than the current memory allocation. Requires |
Valid values |
dbms.logs.query.allocation_logging_enabled, a boolean |
Default value |
|
dbms.logs.query.early_raw_logging_enabled
Dynamic
Description |
Log query text and parameters without obfuscating passwords. This allows queries to be logged earlier before parsing starts. |
Valid values |
dbms.logs.query.early_raw_logging_enabled, a boolean |
Default value |
|
dbms.logs.query.enabled
Dynamic Enterprise Edition
Description |
Log executed queries. Valid values are
Log entries are written to the query log (dbms.logs.query.path). This feature is available in the Neo4j Enterprise Edition. |
Valid values |
dbms.logs.query.enabled, one of [OFF, INFO, VERBOSE] |
Default value |
|
dbms.logs.query.format
Description |
Log format to use for the query log. |
Valid values |
dbms.logs.query.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format |
dbms.logs.query.max_parameter_length
Dynamic
Description |
Sets a maximum character length use for each parameter in the log. This only takes effect if |
Valid values |
dbms.logs.query.max_parameter_length, an integer |
Default value |
|
dbms.logs.query.obfuscate_literals
Dynamic
Description |
Obfuscates all literals of the query before writing to the log. Note that node labels, relationship types and map property keys are still shown. Changing the setting will not affect queries that are cached. So, if you want the switch to have immediate effect, you must also call |
Valid values |
dbms.logs.query.obfuscate_literals, a boolean |
Default value |
|
dbms.logs.query.page_logging_enabled
Dynamic
Description |
Log page hits and page faults for the executed queries being logged. |
Valid values |
dbms.logs.query.page_logging_enabled, a boolean |
Default value |
|
dbms.logs.query.parameter_full_entities
Dynamic
Description |
Log complete parameter entities including id, labels or relationship type, and properties. If false, only the entity id will be logged. This only takes effect if |
Valid values |
dbms.logs.query.parameter_full_entities, a boolean |
Default value |
|
dbms.logs.query.parameter_logging_enabled
Dynamic
Description |
Log parameters for the executed queries being logged. |
Valid values |
dbms.logs.query.parameter_logging_enabled, a boolean |
Default value |
|
dbms.logs.query.path
Description |
Path to the query log file. |
Valid values |
dbms.logs.query.path, a path. If relative it is resolved from dbms.directories.logs |
Default value |
|
dbms.logs.query.plan_description_enabled
Dynamic
Description |
Log query plan description table, useful for debugging purposes. |
Valid values |
dbms.logs.query.plan_description_enabled, a boolean |
Default value |
|
dbms.logs.query.rotation.keep_number
Dynamic
Description |
Maximum number of history files for the query log. |
Valid values |
dbms.logs.query.rotation.keep_number, an integer which is minimum |
Default value |
|
dbms.logs.query.rotation.size
Dynamic
Description |
The file size in bytes at which the query log will auto-rotate. If set to zero then no rotation will occur. Accepts a binary suffix |
Valid values |
dbms.logs.query.rotation.size, a byte size (valid multipliers are |
Default value |
|
dbms.logs.query.runtime_logging_enabled
Dynamic
Description |
Logs which runtime that was used to run the query. |
Valid values |
dbms.logs.query.runtime_logging_enabled, a boolean |
Default value |
|
dbms.logs.query.threshold
Dynamic
Description |
If the execution of query takes more time than this threshold, the query is logged once completed - provided query logging is set to INFO. Defaults to 0 seconds, that is all queries are logged. |
Valid values |
dbms.logs.query.threshold, a duration (Valid units are: |
Default value |
|
dbms.logs.query.time_logging_enabled
Dynamic
Description |
Log detailed time information for the executed queries being logged, such as |
Valid values |
dbms.logs.query.time_logging_enabled, a boolean |
Default value |
|
dbms.logs.query.transaction.enabled
Dynamic Enterprise Edition
Description |
Log the start and end of a transaction. Valid values are 'OFF', 'INFO', or 'VERBOSE'. OFF: no logging. INFO: log start and end of transactions that take longer than the configured threshold, dbms.logs.query.transaction.threshold. VERBOSE: log start and end of all transactions. Log entries are written to the query log (dbms.logs.query.path). This feature is available in the Neo4j Enterprise Edition. |
Valid values |
dbms.logs.query.transaction.enabled, one of [OFF, INFO, VERBOSE] |
Default value |
|
dbms.logs.query.transaction.threshold
Dynamic
Description |
If the transaction is open for more time than this threshold, the transaction is logged once completed - provided transaction logging (dbms.logs.query.transaction.enabled) is set to |
Valid values |
dbms.logs.query.transaction.threshold, a duration (Valid units are: |
Default value |
|
dbms.logs.query.transaction_id.enabled
Dynamic
Description |
Log transaction ID for the executed queries. |
Valid values |
dbms.logs.query.transaction_id.enabled, a boolean |
Default value |
|
dbms.logs.security.format
Description |
Log format to use for security log. |
Valid values |
dbms.logs.security.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format |
dbms.logs.security.level
Description |
Security log level threshold. |
Valid values |
dbms.logs.security.level, one of [DEBUG, INFO, WARN, ERROR, NONE] |
Default value |
|
dbms.logs.security.path
Description |
Path to the security log file. |
Valid values |
dbms.logs.security.path, a path. If relative it is resolved from dbms.directories.logs |
Default value |
|
dbms.logs.security.rotation.delay
Deprecated
Description |
Minimum time interval after last rotation of the security log before it may be rotated again. |
Valid values |
dbms.logs.security.rotation.delay, a duration (Valid units are: |
Default value |
|
dbms.logs.security.rotation.keep_number
Description |
Maximum number of history files for the security log. |
Valid values |
dbms.logs.security.rotation.keep_number, an integer which is minimum |
Default value |
|
dbms.logs.security.rotation.size
Description |
Threshold for rotation of the security log. |
Valid values |
dbms.logs.security.rotation.size, a byte size (valid multipliers are |
Default value |
|
dbms.logs.user.format
Description |
Log format to use for user log. |
Valid values |
dbms.logs.user.format, one of [PLAIN, JSON]. If unset the value is inherited from dbms.logs.default_format |
dbms.logs.user.path
Description |
Path to the user log file. Note that if dbms.logs.user.stdout_enabled is enabled this setting will be ignored. |
Valid values |
dbms.logs.user.path, a path. If relative it is resolved from dbms.directories.logs |
Default value |
|
dbms.logs.user.rotation.delay
Deprecated
Description |
Minimum time interval after last rotation of the user log (neo4j.log) before it may be rotated again. Note that if dbms.logs.user.stdout_enabled is enabled this setting will be ignored. |
Valid values |
dbms.logs.user.rotation.delay, a duration (Valid units are: |
Default value |
|
dbms.logs.user.rotation.keep_number
Description |
Maximum number of history files for the user log (neo4j.log). Note that if dbms.logs.user.stdout_enabled is enabled this setting will be ignored. |
Valid values |
dbms.logs.user.rotation.keep_number, an integer which is minimum |
Default value |
|
dbms.logs.user.rotation.size
Description |
Threshold for rotation of the user log (neo4j.log). If set to 0, log rotation is disabled. Note that if dbms.logs.user.stdout_enabled is enabled this setting will be ignored. |
Valid values |
dbms.logs.user.rotation.size, a byte size (valid multipliers are |
Default value |
|
Memory settings
dbms.memory.heap.initial_size
Description |
Initial heap size. By default it is calculated based on available system resources. |
Valid values |
dbms.memory.heap.initial_size, a byte size (valid multipliers are |
dbms.memory.heap.max_size
Description |
Maximum heap size. By default it is calculated based on available system resources. |
Valid values |
dbms.memory.heap.max_size, a byte size (valid multipliers are |
dbms.memory.off_heap.block_cache_size
Description |
Defines the size of the off-heap memory blocks cache. The cache will contain this number of blocks for each block size that is power of two. Thus, maximum amount of memory used by blocks cache can be calculated as 2 * dbms.memory.off_heap.max_cacheable_block_size * |
Valid values |
dbms.memory.off_heap.block_cache_size, an integer which is minimum |
Default value |
|
dbms.memory.off_heap.max_cacheable_block_size
Description |
Defines the maximum size of an off-heap memory block that can be cached to speed up allocations. The value must be a power of 2. |
Valid values |
dbms.memory.off_heap.max_cacheable_block_size, a byte size (valid multipliers are |
Default value |
|
dbms.memory.off_heap.max_size
Description |
The maximum amount of off-heap memory that can be used to store transaction state data; it’s a total amount of memory shared across all active transactions. Zero means 'unlimited'. Used when dbms.tx_state.memory_allocation is set to 'OFF_HEAP'. |
Valid values |
dbms.memory.off_heap.max_size, a byte size (valid multipliers are |
Default value |
|
dbms.memory.pagecache.directio
Description |
Use direct I/O for page cache. Setting is supported only on Linux and only for a subset of record formats that use platform aligned page size. |
Valid values |
dbms.memory.pagecache.directio, a boolean |
Default value |
|
dbms.memory.pagecache.flush.buffer.enabled
Dynamic
Description |
Page cache can be configured to use a temporal buffer for flushing purposes. It is used to combine, if possible, sequence of several cache pages into one bigger buffer to minimize the number of individual IOPS performed and better utilization of available I/O resources, especially when those are restricted. |
Valid values |
dbms.memory.pagecache.flush.buffer.enabled, a boolean |
Default value |
|
dbms.memory.pagecache.flush.buffer.size_in_pages
Dynamic
Description |
Page cache can be configured to use a temporal buffer for flushing purposes. It is used to combine, if possible, sequence of several cache pages into one bigger buffer to minimize the number of individual IOPS performed and better utilization of available I/O resources, especially when those are restricted. Use this setting to configure individual file flush buffer size in pages (8KiB). To be able to utilize this buffer during page cache flushing, buffered flush should be enabled. |
Valid values |
dbms.memory.pagecache.flush.buffer.size_in_pages, an integer which is in the range |
Default value |
|
dbms.memory.pagecache.scan.prefetchers
Description |
The maximum number of worker threads to use for pre-fetching data when doing sequential scans. Set to '0' to disable pre-fetching for scans. |
Valid values |
dbms.memory.pagecache.scan.prefetchers, an integer which is in the range |
Default value |
|
dbms.memory.pagecache.size
Description |
The amount of memory to use for mapping the store files, in bytes (or kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). If Neo4j is running on a dedicated server, then it is generally recommended to leave about 2-4 gigabytes for the operating system, give the JVM enough heap to hold all your transaction state and query context, and then leave the rest for the page cache. If no page cache memory is configured, then a heuristic setting is computed based on available system resources. |
Valid values |
dbms.memory.pagecache.size, a string |
dbms.memory.pagecache.swapper
Deprecated
Description |
This setting is not used anymore. |
Valid values |
dbms.memory.pagecache.swapper, a string |
dbms.memory.pagecache.warmup.enable
Enterprise Edition
Description |
Page cache can be configured to perform usage sampling of loaded pages that can be used to construct active load profile. According to that profile pages can be reloaded on the restart, replication, etc. This setting allows disabling that behavior. This feature is available in Neo4j Enterprise Edition. |
Valid values |
dbms.memory.pagecache.warmup.enable, a boolean |
Default value |
|
dbms.memory.pagecache.warmup.preload
Description |
Page cache warmup can be configured to prefetch files, preferably when cache size is bigger than store size. Files to be prefetched can be filtered by 'dbms.memory.pagecache.warmup.preload.allowlist'. Enabling this disables warmup by profile. |
Valid values |
dbms.memory.pagecache.warmup.preload, a boolean |
Default value |
|
dbms.memory.pagecache.warmup.preload.allowlist
Description |
Page cache warmup prefetch file allowlist regex. By default matches all files. |
Valid values |
dbms.memory.pagecache.warmup.preload.allowlist, a string |
Default value |
|
dbms.memory.pagecache.warmup.preload.whitelist
Deprecated
Description |
Page cache warmup prefetch file whitelist regex. By default matches all files. |
Valid values |
dbms.memory.pagecache.warmup.preload.whitelist, a string |
Default value |
|
Replaced by |
dbms.memory.pagecache.warmup.profile.interval
Enterprise Edition
Description |
The profiling frequency for the page cache. Accurate profiles allow the page cache to do active warmup after a restart, reducing the mean time to performance. This feature is available in Neo4j Enterprise Edition. |
Valid values |
dbms.memory.pagecache.warmup.profile.interval, a duration (Valid units are: |
Default value |
|
dbms.memory.tracking.enable
Description |
Enable off heap and on heap memory tracking. Should not be set to |
Valid values |
dbms.memory.tracking.enable, a boolean |
Default value |
|
dbms.memory.transaction.database_max_size
Dynamic
Description |
Limit the amount of memory that all transactions in one database can consume, in bytes (or kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). Zero means 'unlimited'. |
Valid values |
dbms.memory.transaction.database_max_size, a byte size (valid multipliers are |
Default value |
|
dbms.memory.transaction.global_max_size
Dynamic
Description |
Limit the amount of memory that all of the running transactions can consume, in bytes (or kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). Zero means 'unlimited'. |
Valid values |
dbms.memory.transaction.global_max_size, a byte size (valid multipliers are |
Default value |
|
dbms.memory.transaction.max_size
Dynamic
Description |
Limit the amount of memory that a single transaction can consume, in bytes (or kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). Zero means 'largest possible value'. When |
Valid values |
dbms.memory.transaction.max_size, a byte size (valid multipliers are |
Default value |
|
dbms.tx_state.memory_allocation
Description |
Defines whether memory for transaction state should be allocated on- or off-heap. Note that for small transactions you can gain up to 25% write speed by setting it to |
Valid values |
dbms.tx_state.memory_allocation, one of [ON_HEAP, OFF_HEAP] |
Default value |
|
dbms.query_cache_size
Description |
The number of cached Cypher query execution plans per database. The max number of query plans that can be kept in cache is the |
Valid values |
dbms.query_cache_size, an integer which is minimum |
Default value |
|
Metrics settings
metrics.bolt.messages.enabled
Deprecated
Description |
Enable reporting metrics about Bolt Protocol message processing. |
Valid values |
metrics.bolt.messages.enabled, a boolean |
Default value |
|
Replaced by |
metrics.csv.enabled
Description |
Set to |
Valid values |
metrics.csv.enabled, a boolean |
Default value |
|
metrics.csv.interval
Description |
The reporting interval for the CSV files. That is, how often new rows with numbers are appended to the CSV files. |
Valid values |
metrics.csv.interval, a duration (Valid units are: |
Default value |
|
metrics.csv.rotation.compression
Description |
Decides what compression to use for the csv history files. |
Valid values |
metrics.csv.rotation.compression, one of [NONE, ZIP, GZ] |
Default value |
|
metrics.csv.rotation.keep_number
Description |
Maximum number of history files for the csv files. |
Valid values |
metrics.csv.rotation.keep_number, an integer which is minimum |
Default value |
|
metrics.csv.rotation.size
Description |
The file size in bytes at which the csv files will auto-rotate. If set to zero then no rotation will occur. Accepts a binary suffix |
Valid values |
metrics.csv.rotation.size, a byte size (valid multipliers are |
Default value |
|
metrics.cypher.replanning.enabled
Deprecated
Description |
Enable reporting metrics about number of occurred replanning events. instead. |
Valid values |
metrics.cypher.replanning.enabled, a boolean |
Default value |
|
Replaced by |
metrics.enabled
Description |
Enable metrics. Setting this to |
Valid values |
metrics.enabled, a boolean |
Default value |
|
metrics.filter
Description |
Specifies which metrics should be enabled by using a comma separated list of globbing patterns. Only the metrics matching the filter will be enabled. For example |
Valid values |
metrics.filter, a ',' separated list with elements of type 'A simple globbing pattern that can use |
Default value |
|
metrics.graphite.enabled
Description |
Set to |
Valid values |
metrics.graphite.enabled, a boolean |
Default value |
|
metrics.graphite.interval
Description |
The reporting interval for Graphite. That is, how often to send updated metrics to Graphite. |
Valid values |
metrics.graphite.interval, a duration (Valid units are: |
Default value |
|
metrics.graphite.server
Description |
The hostname or IP address of the Graphite server. |
Valid values |
metrics.graphite.server, a socket address in the format 'hostname:port', 'hostname' or ':port'. If missing port or hostname it is acquired from dbms.default_listen_address |
Default value |
|
metrics.jmx.enabled
Description |
Set to |
Valid values |
metrics.jmx.enabled, a boolean |
Default value |
|
metrics.jvm.buffers.enabled
Deprecated
Description |
Enable reporting metrics about the buffer pools. |
Valid values |
metrics.jvm.buffers.enabled, a boolean |
Default value |
|
Replaced by |
metrics.jvm.file.descriptors.enabled
Deprecated
Description |
Enable reporting metrics about the number of open file descriptors. |
Valid values |
metrics.jvm.file.descriptors.enabled, a boolean |
Default value |
|
Replaced by |
metrics.jvm.gc.enabled
Deprecated
Description |
Enable reporting metrics about the duration of garbage collections. |
Valid values |
metrics.jvm.gc.enabled, a boolean |
Default value |
|
Replaced by |
metrics.jvm.heap.enabled
Deprecated
Description |
Enable reporting metrics about the heap memory usage. |
Valid values |
metrics.jvm.heap.enabled, a boolean |
Default value |
|
Replaced by |
metrics.jvm.memory.enabled
Deprecated
Description |
Enable reporting metrics about the memory usage. |
Valid values |
metrics.jvm.memory.enabled, a boolean |
Default value |
|
Replaced by |
metrics.jvm.pause_time.enabled
Deprecated
Description |
Enable reporting metrics about the VM pause time. |
Valid values |
metrics.jvm.pause_time.enabled, a boolean |
Default value |
|
Replaced by |
metrics.jvm.threads.enabled
Deprecated
Description |
Enable reporting metrics about the current number of threads running. |
Valid values |
metrics.jvm.threads.enabled, a boolean |
Default value |
|
Replaced by |
metrics.namespaces.enabled
Description |
Enable metrics namespaces that separates the global and database specific metrics. If enabled all database specific metrics will have field names starting with <metrics_prefix>.database.<database_name> and all global metrics will start with <metrics_prefix>.dbms. For example, neo4j.page_cache.hits will become neo4j.dbms.page_cache.hits and neo4j.system.log.rotation_events will become neo4j.database.system.log.rotation_events. |
Valid values |
metrics.namespaces.enabled, a boolean |
Default value |
|
metrics.neo4j.causal_clustering.enabled
Deprecated
Description |
Enable reporting metrics about Causal Clustering mode. |
Valid values |
metrics.neo4j.causal_clustering.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.checkpointing.enabled
Deprecated
Description |
Enable reporting metrics about Neo4j check pointing; when it occurs and how much time it takes to complete. |
Valid values |
metrics.neo4j.checkpointing.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.counts.enabled
Deprecated
Description |
Enable reporting metrics about approximately how many entities are in the database; nodes, relationships, properties, etc. |
Valid values |
metrics.neo4j.counts.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.data.counts.enabled
Deprecated
Description |
Enable reporting metrics about number of entities in the database. |
Valid values |
metrics.neo4j.data.counts.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.database_operation_count.enabled
Deprecated
Description |
Enable reporting metrics for Neo4j dbms operations; how many times databases have been created, started, stopped or dropped, and how many attempted operations have failed and recovered later. |
Valid values |
metrics.neo4j.database_operation_count.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.logs.enabled
Deprecated
Description |
Enable reporting metrics about the Neo4j transaction logs. |
Valid values |
metrics.neo4j.logs.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.pagecache.enabled
Deprecated
Description |
Enable reporting metrics about the Neo4j page cache; page faults, evictions, flushes, exceptions, etc. |
Valid values |
metrics.neo4j.pagecache.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.pools.enabled
Deprecated
Description |
Enable reporting metrics about Neo4j memory pools. |
Valid values |
metrics.neo4j.pools.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.server.enabled
Deprecated
Description |
Enable reporting metrics about Server threading info. |
Valid values |
metrics.neo4j.server.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.size.enabled
Deprecated
Description |
Enable reporting metrics about the store size of each database. |
Valid values |
metrics.neo4j.size.enabled, a boolean |
Default value |
|
Replaced by |
metrics.neo4j.tx.enabled
Deprecated
Description |
Enable reporting metrics about transactions; number of transactions started, committed, etc. |
Valid values |
metrics.neo4j.tx.enabled, a boolean |
Default value |
|
Replaced by |
metrics.prefix
Description |
A common prefix for the reported metrics field names. |
Valid values |
metrics.prefix, a string |
Default value |
|
metrics.prometheus.enabled
Description |
Set to |
Valid values |
metrics.prometheus.enabled, a boolean |
Default value |
|
metrics.prometheus.endpoint
Description |
The hostname and port to use as Prometheus endpoint. |
Valid values |
metrics.prometheus.endpoint, a socket address in the format |
Default value |
|
Neo4j Browser and client settings
browser.allow_outgoing_connections
Description |
Configure the policy for outgoing Neo4j Browser connections. |
Valid values |
browser.allow_outgoing_connections, a boolean |
Default value |
|
browser.credential_timeout
Description |
Configure the Neo4j Browser to time out logged in users after this idle period. Setting this to 0 indicates no limit. |
Valid values |
browser.credential_timeout, a duration (Valid units are: |
Default value |
|
browser.post_connect_cmd
Description |
Commands to be run when Neo4j Browser successfully connects to this server. Separate multiple commands with semi-colon. |
Valid values |
browser.post_connect_cmd, a string |
Default value |
browser.remote_content_hostname_whitelist
Description |
Whitelist of hosts for the Neo4j Browser to be allowed to fetch content from. |
Valid values |
browser.remote_content_hostname_whitelist, a string |
Default value |
|
browser.retain_connection_credentials
Description |
Configure the Neo4j Browser to store or not store user credentials. |
Valid values |
browser.retain_connection_credentials, a boolean |
Default value |
|
Security settings
dbms.security.allow_csv_import_from_file_urls
Description |
Determines if Cypher will allow using file URLs when loading data using |
Valid values |
dbms.security.allow_csv_import_from_file_urls, a boolean |
Default value |
|
dbms.security.auth_cache_max_capacity
Description |
The maximum capacity for authentication and authorization caches (respectively). |
Valid values |
dbms.security.auth_cache_max_capacity, an integer |
Default value |
|
dbms.security.auth_cache_ttl
Description |
The time to live (TTL) for cached authentication and authorization info when using external auth providers (LDAP or plugin). Setting the TTL to 0 will disable auth caching. Disabling caching while using the LDAP auth provider requires the use of an LDAP system account for resolving authorization information. |
Valid values |
dbms.security.auth_cache_ttl, a duration (Valid units are: |
Default value |
|
dbms.security.auth_cache_use_ttl
Description |
Enable time-based eviction of the authentication and authorization info cache for external auth providers (LDAP or plugin). Disabling this setting will make the cache live forever and only be evicted when |
Valid values |
dbms.security.auth_cache_use_ttl, a boolean |
Default value |
|
dbms.security.auth_enabled
Description |
Enable auth requirement to access Neo4j. |
Valid values |
dbms.security.auth_enabled, a boolean |
Default value |
|
dbms.security.auth_lock_time
Description |
The amount of time user account should be locked after a configured number of unsuccessful authentication attempts. The locked out user will not be able to log in until the lock period expires, even if correct credentials are provided. Setting this configuration option to a low value is not recommended because it might make it easier for an attacker to brute force the password. |
Valid values |
dbms.security.auth_lock_time, a duration (Valid units are: |
Default value |
|
dbms.security.auth_max_failed_attempts
Description |
The maximum number of unsuccessful authentication attempts before imposing a user lock for the configured amount of time, as defined by |
Valid values |
dbms.security.auth_max_failed_attempts, an integer which is minimum |
Default value |
|
dbms.security.authentication_providers
Description |
A list of security authentication providers containing the users and roles. This can be any of the built-in |
Valid values |
dbms.security.authentication_providers, a ',' separated list with elements of type 'a string'. |
Default value |
|
dbms.security.authorization_providers
Description |
A list of security authorization providers containing the users and roles. This can be any of the built-in |
Valid values |
dbms.security.authorization_providers, a ',' separated list with elements of type 'a string'. |
Default value |
|
dbms.security.causal_clustering_status_auth_enabled
Description |
Require authorization for access to the Causal Clustering status endpoints. |
Valid values |
dbms.security.causal_clustering_status_auth_enabled, a boolean |
Default value |
|
dbms.security.http_access_control_allow_origin
Description |
Value of the Access-Control-Allow-Origin header sent over any HTTP or HTTPS connector. This defaults to '*', which allows broadest compatibility. Note that any URI provided here limits HTTP/HTTPS access to that URI only. |
Valid values |
dbms.security.http_access_control_allow_origin, a string |
Default value |
|
dbms.security.http_auth_allowlist
Description |
Defines an allowlist of http paths where Neo4j authentication is not required. |
Valid values |
dbms.security.http_auth_allowlist, a ',' separated list with elements of type 'a string'. |
Default value |
|
dbms.security.http_auth_whitelist
Deprecated
Description |
Defines a whitelist of http paths where Neo4j authentication is not required. |
Valid values |
dbms.security.http_auth_whitelist, a ',' separated list with elements of type 'a string'. |
Default value |
|
Replaced by |
dbms.security.http_strict_transport_security
Description |
Value of the HTTP Strict-Transport-Security (HSTS) response header. This header tells browsers that a webpage should only be accessed using HTTPS instead of HTTP. It is attached to every HTTPS response. Setting is not set by default so 'Strict-Transport-Security' header is not sent. Value is expected to contain directives like 'max-age', 'includeSubDomains' and 'preload'. |
Valid values |
dbms.security.http_strict_transport_security, a string |
dbms.security.ldap.authentication.attribute
Dynamic
Description |
The attribute to use when looking up users.
Using this setting requires |
Valid values |
dbms.security.ldap.authentication.attribute, a string which matches the pattern |
Default value |
|
dbms.security.ldap.authentication.cache_enabled
Description |
Determines if the result of authentication via the LDAP server should be cached or not. Caching is used to limit the number of LDAP requests that have to be made over the network for users that have already been authenticated successfully. A user can be authenticated against an existing cache entry (instead of via an LDAP server) as long as it is alive (see |
Valid values |
dbms.security.ldap.authentication.cache_enabled, a boolean |
Default value |
|
dbms.security.ldap.authentication.mechanism
Description |
LDAP authentication mechanism. This is one of |
Valid values |
dbms.security.ldap.authentication.mechanism, a string |
Default value |
|
dbms.security.ldap.authentication.search_for_attribute
Description |
Perform authentication by searching for an unique attribute of a user.
Using this setting requires |
Valid values |
dbms.security.ldap.authentication.search_for_attribute, a boolean |
Default value |
|
dbms.security.ldap.authentication.use_samaccountname
Deprecated
Description |
Perform authentication by searching for an unique attribute of a user. |
Valid values |
dbms.security.ldap.authentication.use_samaccountname, a boolean |
Default value |
|
Replaced by |
dbms.security.ldap.authentication.user_dn_template
Dynamic
Description |
LDAP user DN template. An LDAP object is referenced by its distinguished name (DN), and a user DN is an LDAP fully-qualified unique user identifier. This setting is used to generate an LDAP DN that conforms with the LDAP directory’s schema from the user principal that is submitted with the authentication token when logging in. The special token {0} is a placeholder where the user principal will be substituted into the DN string. |
Valid values |
dbms.security.ldap.authentication.user_dn_template, a string which Must be a string containing '{0}' to understand where to insert the runtime authentication principal. |
Default value |
|
dbms.security.ldap.authorization.access_permitted_group
Dynamic
Description |
The LDAP group to which a user must belong to get any access to the system.Set this to restrict access to a subset of LDAP users belonging to a particular group. If this is not set, any user to successfully authenticate via LDAP will have access to the PUBLIC role and any other roles assigned to them via dbms.security.ldap.authorization.group_to_role_mapping. |
Valid values |
dbms.security.ldap.authorization.access_permitted_group, a string |
Default value |
dbms.security.ldap.authorization.group_membership_attributes
Dynamic
Description |
A list of attribute names on a user object that contains groups to be used for mapping to roles when LDAP authorization is enabled. |
Valid values |
dbms.security.ldap.authorization.group_membership_attributes, a ',' separated list with elements of type 'a string'. which Can not be empty |
Default value |
|
dbms.security.ldap.authorization.group_to_role_mapping
Dynamic
Description |
An authorization mapping from LDAP group names to Neo4j role names. The map should be formatted as a semicolon separated list of key-value pairs, where the key is the LDAP group name and the value is a comma separated list of corresponding role names. For example: group1=role1;group2=role2;group3=role3,role4,role5 You could also use whitespaces and quotes around group names to make this mapping more readable, for example: 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 |
Valid values |
dbms.security.ldap.authorization.group_to_role_mapping, a string which must be semicolon separated list of key-value pairs or empty |
Default value |
dbms.security.ldap.authorization.system_password
Description |
An LDAP system account password to use for authorization searches when |
Valid values |
dbms.security.ldap.authorization.system_password, a secure string |
dbms.security.ldap.authorization.system_username
Description |
An LDAP system account username to use for authorization searches when |
Valid values |
dbms.security.ldap.authorization.system_username, a string |
dbms.security.ldap.authorization.use_system_account
Description |
Perform LDAP search for authorization info using a system account instead of the user’s own account.
If this is set to |
Valid values |
dbms.security.ldap.authorization.use_system_account, a boolean |
Default value |
|
dbms.security.ldap.authorization.user_search_base
Dynamic
Description |
The name of the base object or named context to search for user objects when LDAP authorization is enabled. A common case is that this matches the last part of |
Valid values |
dbms.security.ldap.authorization.user_search_base, a string which Can not be empty |
Default value |
|
dbms.security.ldap.authorization.user_search_filter
Dynamic
Description |
The LDAP search filter to search for a user principal when LDAP authorization is enabled. The filter should contain the placeholder token {0} which will be substituted for the user principal. |
Valid values |
dbms.security.ldap.authorization.user_search_filter, a string |
Default value |
|
dbms.security.ldap.connection_timeout
Description |
The timeout for establishing an LDAP connection. If a connection with the LDAP server cannot be established within the given time the attempt is aborted. A value of 0 means to use the network protocol’s (i.e., TCP’s) timeout value. |
Valid values |
dbms.security.ldap.connection_timeout, a duration (Valid units are: |
Default value |
|
dbms.security.ldap.host
Description |
URL of LDAP server to use for authentication and authorization. The format of the setting is |
Valid values |
dbms.security.ldap.host, a string |
Default value |
|
dbms.security.ldap.read_timeout
Description |
The timeout for an LDAP read request (i.e. search). If the LDAP server does not respond within the given time the request will be aborted. A value of 0 means wait for a response indefinitely. |
Valid values |
dbms.security.ldap.read_timeout, a duration (Valid units are: |
Default value |
|
dbms.security.ldap.referral
Description |
The LDAP referral behavior when creating a connection. This is one of |
Valid values |
dbms.security.ldap.referral, a string |
Default value |
|
dbms.security.ldap.use_starttls
Description |
Use secure communication with the LDAP server using opportunistic TLS. First an initial insecure connection will be made with the LDAP server, and a STARTTLS command will be issued to negotiate an upgrade of the connection to TLS before initiating authentication. |
Valid values |
dbms.security.ldap.use_starttls, a boolean |
Default value |
|
dbms.security.log_successful_authentication
Description |
Set to log successful authentication events to the security log. If this is set to |
Valid values |
dbms.security.log_successful_authentication, a boolean |
Default value |
|
dbms.security.oidc.<provider>.audience
Dynamic
Description |
Expected values of the Audience (aud) claim in the id token. |
Valid values |
dbms.security.oidc.<provider>.audience, a ',' separated list with elements of type 'a string'. which Can not be empty |
dbms.security.oidc.<provider>.auth_endpoint
Dynamic
Description |
The OIDC authorization endpoint. If this is not supplied Neo4j will attempt to discover it from the well_known_discovery_uri. |
Valid values |
dbms.security.oidc.<provider>.auth_endpoint, a URI |
dbms.security.oidc.<provider>.auth_flow
Dynamic
Description |
The OIDC flow to use. This is exposed to clients via the discovery endpoint. |
Valid values |
dbms.security.oidc.<provider>.auth_flow, one of [PKCE, IMPLICIT] |
Default value |
|
dbms.security.oidc.<provider>.auth_params
Dynamic
Description |
Optional additional configuration options used for the authentication request. The map is a semicolon separated list of key-value pairs. For example: |
Valid values |
dbms.security.oidc.<provider>.auth_params, A simple key value map pattern k1=v1;k2=v2 |
Default value |
|
dbms.security.oidc.<provider>.authorization.group_to_role_mapping
Dynamic
Description |
An authorization mapping from IdP group names to Neo4j role names. The map should be formatted as a semicolon separated list of key-value pairs, where the key is the IdP group name and the value is a comma separated list of corresponding role names. For example: group1=role1;group2=role2;group3=role3,role4,role5 You could also use whitespaces and quotes around group names to make this mapping more readable, for example: dbms.security.oidc.<provider>.authorization.group_to_role_mapping=\ "Neo4j Read Only" = reader; \ "Neo4j Read-Write" = publisher; \ "Neo4j Schema Manager" = architect; \ "Neo4j Administrator" = admin |
Valid values |
dbms.security.oidc.<provider>.authorization.group_to_role_mapping, a string which must be semicolon separated list of key-value pairs or empty |
dbms.security.oidc.<provider>.claims.groups
Dynamic
Description |
The claim to use as the list of groups in Neo4j. These could be Neo4J roles directly, or can be mapped using dbms.security.oidc.<provider>.authorization.group_to_role_mapping. |
Valid values |
dbms.security.oidc.<provider>.claims.groups, a string |
dbms.security.oidc.<provider>.claims.username
Dynamic
Description |
The claim to use as the username in Neo4j. This would typically be sub, but in some situations it may be be desirable to use something else such as email. |
Valid values |
dbms.security.oidc.<provider>.claims.username, a string |
Default value |
|
dbms.security.oidc.<provider>.client_id
Dynamic
Description |
Client id needed if token contains multiple Audience (aud) claims. |
Valid values |
dbms.security.oidc.<provider>.client_id, a string |
dbms.security.oidc.<provider>.config
Dynamic
Description |
Additional configuration options that the clients may require to authenticate. The map is a semicolon separated list of key-value pairs. For example: |
Valid values |
dbms.security.oidc.<provider>.config, A simple key value map pattern k1=v1;k2=v2 |
Default value |
|
dbms.security.logs.oidc.jwt_claims_at_debug_level_enabled
Description |
When set to |
Valid values |
dbms.security.logs.oidc.jwt_claims_at_debug_level_enabled, a boolean |
Default value |
|
dbms.security.oidc.<provider>.display_name
Description |
The user-facing name of the provider as provided by the discovery endpoint to clients (Bloom, Browser etc.). |
Valid values |
dbms.security.oidc.<provider>.display_name, a string |
dbms.security.oidc.<provider>.get_groups_from_user_info
Dynamic
Description |
When turned on, Neo4j gets the groups from the provider user info endpoint. |
Valid values |
dbms.security.oidc.<provider>.get_groups_from_user_info, a boolean |
Default value |
|
dbms.security.oidc.<provider>.get_username_from_user_info
Dynamic
Description |
When turned on, Neo4j gets the username from the provider user info endpoint. |
Valid values |
dbms.security.oidc.<provider>.get_username_from_user_info, a boolean |
Default value |
|
dbms.security.oidc.<provider>.issuer
Dynamic
Description |
The expected value of the iss claim in the id token. |
Valid values |
dbms.security.oidc.<provider>.issuer, a string |
dbms.security.oidc.<provider>.jwks_uri
Dynamic
Description |
The location of the JWK public key set for the identity provider. If this is not supplied Neo4j will attempt to discover it from the well_known_discovery_uri. |
Valid values |
dbms.security.oidc.<provider>.jwks_uri, a URI |
dbms.security.oidc.<provider>.params
Dynamic
Description |
Generic parameters that the clients may require to authenticate. The map is a semicolon separated list of key-value pairs. For example: |
Valid values |
dbms.security.oidc.<provider>.params, A simple key value map pattern k1=v1;k2=v2 |
Default value |
|
dbms.security.oidc.<provider>.redirect_uri
Dynamic Deprecated
Description |
The redirect URI the IdP should return the user to when authenticated. |
Valid values |
dbms.security.oidc.<provider>.redirect_uri, a URI |
dbms.security.oidc.<provider>.token_endpoint
Dynamic
Description |
The OIDC token endpoint. If this is not supplied Neo4j will attempt to discover it from the well_known_discovery_uri. |
Valid values |
dbms.security.oidc.<provider>.token_endpoint, a URI |
dbms.security.oidc.<provider>.token_params
Dynamic
Description |
Optional additional configuration options used for the token request. The map is a semicolon separated list of key-value pairs. For example: |
Valid values |
dbms.security.oidc.<provider>.token_params, A simple key value map pattern k1=v1;k2=v2 |
Default value |
|
dbms.security.oidc.<provider>.user_info_uri
Dynamic
Description |
The identity providers user info uri. |
Valid values |
dbms.security.oidc.<provider>.user_info_uri, a URI |
dbms.security.oidc.<provider>.well_known_discovery_uri
Dynamic
Description |
The 'well known' OpenID Connect Discovery endpoint used to fetch identity provider settings. |
Valid values |
dbms.security.oidc.<provider>.well_known_discovery_uri, a URI |
dbms.security.procedures.allowlist
Description |
A list of procedures (comma separated) that are to be loaded. The list may contain both fully-qualified procedure names, and partial names with the wildcard '*'. If this setting is left empty no procedures will be loaded. |
Valid values |
dbms.security.procedures.allowlist, a ',' separated list with elements of type 'a string'. |
Default value |
|
dbms.security.procedures.default_allowed
Deprecated
Description |
The default role that can execute all procedures and user-defined functions that are not covered by the |
Valid values |
dbms.security.procedures.default_allowed, a string |
Default value |
|
Replaced by |
|
dbms.security.procedures.roles
Deprecated
Description |
This provides a finer level of control over which roles can execute procedures than the |
Valid values |
dbms.security.procedures.roles, a string |
Default value |
|
Replaced by |
|
dbms.security.procedures.unrestricted
Description |
A list of procedures and user defined functions (comma separated) that are allowed full access to the database. The list may contain both fully-qualified procedure names, and partial names with the wildcard '*'. Note that this enables these procedures to bypass security. Use with caution. |
Valid values |
dbms.security.procedures.unrestricted, a ',' separated list with elements of type 'a string'. |
Default value |
dbms.security.procedures.whitelist
Deprecated
Description |
A list of procedures (comma separated) that are to be loaded. The list may contain both fully-qualified procedure names, and partial names with the wildcard '*'. If this setting is left empty no procedures will be loaded. |
Valid values |
dbms.security.procedures.whitelist, a ',' separated list with elements of type 'a string'. |
Default value |
|
Replaced by |
dbms.netty.ssl.provider
Description |
Netty SSL provider. |
Valid values |
dbms.netty.ssl.provider, one of [JDK, OPENSSL, OPENSSL_REFCNT] |
Default value |
|
systemdb.secrets.key.name
Dynamic
Description |
Name of the 256 length AES encryption key, which is used for the symmetric encryption. |
Valid values |
systemdb.secrets.key.name, a string |
Default value |
|
Transaction settings
dbms.lock.acquisition.timeout
Dynamic
Description |
The maximum time interval within which lock should be acquired. Zero (default) means timeout is disabled. |
Valid values |
dbms.lock.acquisition.timeout, a duration (Valid units are: |
Default value |
|
dbms.shutdown_transaction_end_timeout
Description |
The maximum amount of time to wait for running transactions to complete before allowing initiated database shutdown to continue. |
Valid values |
dbms.shutdown_transaction_end_timeout, a duration (Valid units are: |
Default value |
|
dbms.transaction.bookmark_ready_timeout
Dynamic
Description |
The maximum amount of time to wait for the database state represented by the bookmark. |
Valid values |
dbms.transaction.bookmark_ready_timeout, a duration (Valid units are: |
Default value |
|
dbms.transaction.concurrent.maximum
Dynamic
Description |
The maximum number of concurrently running transactions. If set to 0, limit is disabled. |
Valid values |
dbms.transaction.concurrent.maximum, an integer |
Default value |
|
dbms.transaction.monitor.check.interval
Description |
Configures the time interval between transaction monitor checks. Determines how often monitor thread will check transaction for timeout. |
Valid values |
dbms.transaction.monitor.check.interval, a duration (Valid units are: |
Default value |
|
dbms.transaction.sampling.percentage
Dynamic
Description |
Transaction sampling percentage. |
Valid values |
dbms.transaction.sampling.percentage, an integer which is in the range |
Default value |
|
dbms.transaction.timeout
Dynamic
Description |
The maximum time interval of a transaction within which it should be completed. |
Valid values |
dbms.transaction.timeout, a duration (Valid units are: |
Default value |
|
Transaction log settings
dbms.recovery.fail_on_missing_files
Description |
If |
Valid values |
dbms.recovery.fail_on_missing_files, a boolean |
Default value |
|
dbms.tx_log.buffer.size
Description |
On serialization of transaction logs, they will be temporary stored in the byte buffer that will be flushed at the end of the transaction or at any moment when buffer will be full. |
Valid values |
dbms.tx_log.buffer.size, a long which is minimum |
Default value |
|
dbms.tx_log.preallocate
Dynamic
Description |
Specify if Neo4j should try to preallocate the logical log file in advance. It optimizes the filesystem by ensuring there is room to accommodate newly generated files and avoid file-level fragmentation. |
Valid values |
dbms.tx_log.preallocate, a boolean |
Default value |
|
dbms.tx_log.rotation.retention_policy
Dynamic
Description |
Tell Neo4j how long logical transaction logs should be kept to backup the database.For example, "10 days" will prune logical logs that only contain transactions older than 10 days.Alternatively, "100k txs" will keep the 100k latest transactions from each database and prune any older transactions. |
Valid values |
dbms.tx_log.rotation.retention_policy, a string which matches the pattern |
Default value |
|
dbms.tx_log.rotation.size
Dynamic
Description |
Specifies at which file size the logical log will auto-rotate. Minimum accepted value is 128 KiB. |
Valid values |
dbms.tx_log.rotation.size, a byte size (valid multipliers are |
Default value |
|