Show and terminate transactions
Transactions can be managed using the Cypher commands SHOW TRANSACTIONS and TERMINATE TRANSACTIONS.
Multiple SHOW TRANSACTIONS and TERMINATE TRANSACTIONS commands can be combined in the same query.
As of Neo4j 2026.05, using Cypher 25, it is also possible to combine the transaction commands with general Cypher clauses.
For general information about the SHOW command, see the Cypher Manual → SHOW.
Show transactions
The SHOW TRANSACTIONS command displays currently running transactions across the instance.
To track transactions on remote database aliases, run SHOW TRANSACTIONS while connected to the remote database alias.
A user with the SHOW TRANSACTION privilege can view currently executing transactions, but only to the extent allowed by their granted permissions.
All users can always view their own active transactions.
Syntax
For full details about the syntax descriptions, see Administration command syntax.
| Action | Syntax | ||
|---|---|---|---|
Show transactions on the current server |
|
|
When using the |
Return columns
SHOW TRANSACTIONS returns the following columns:
| Column | Description | Type | Default output |
|---|---|---|---|
|
The name of the database the transaction is executing against. |
|
|
|
The transaction ID. |
|
|
|
The ID of the query currently executing in this transaction, or |
|
|
|
The ID of the database connection attached to the transaction or an empty |
|
|
|
The client address of the connection issuing the transaction or |
|
|
|
The username of the user executing the transaction. |
|
|
|
The query text of the query currently executing in this transaction, or |
|
|
|
The time at which the transaction was started. |
|
|
|
The current status of the transaction ( |
|
|
|
The time that has elapsed since the transaction was started. |
|
|
|
The ID of this transaction’s outer transaction, if such exists, otherwise |
|
|
|
Any metadata associated with the transaction, or an empty map if there is none. |
|
|
|
A map containing all the parameters used by the query currently executing in this transaction, or |
|
|
|
The name of the Cypher planner used to plan the query currently executing in this transaction, or |
|
|
|
The name of the Cypher runtime used by the query currently executing in this transaction, or |
|
|
|
The indexes utilized by the query currently executing in this transaction, or |
|
|
|
The time at which the query currently executing in this transaction was started, or |
|
|
|
The protocol used by the connection issuing the transaction. This is not necessarily an internet protocol, such as http, etc., although it could be. It might also be "embedded", for example, if this connection represents an embedded session. |
|
|
|
The request URI used by the client connection issuing the transaction, or |
|
|
|
The current status of the query currently executing in this transaction ( |
|
|
|
Provide additional status details from the underlying transaction or an empty |
|
|
|
Information about any blocked transactions, or an empty map if there is none. |
|
|
|
Count of active locks held by the transaction. |
|
|
|
Count of active locks held by the query currently executing in this transaction. |
|
|
|
CPU time that has been actively spent executing the transaction or |
|
|
|
Wait time that has been spent waiting to acquire locks. |
|
|
|
Idle time for this transaction, or |
|
|
|
The time that has elapsed since the query currently executing in this transaction was started, or |
|
|
|
CPU time that has been actively spent executing the query currently executing in this transaction, or |
|
|
|
Wait time that has been spent waiting to acquire locks for the query currently executing in this transaction, or |
|
|
|
Idle time for the query currently executing in this transaction, or |
|
|
|
The number of bytes allocated on the heap so far by the query currently executing in this transaction, or |
|
|
|
Amount of off-heap (native) memory allocated by the transaction in bytes or |
|
|
|
The estimated amount of used heap memory allocated by the transaction in bytes or |
|
|
|
The total number of page cache hits that the transaction performed. |
|
|
|
The total number of page cache faults that the transaction performed. |
|
|
|
The total number of page cache hits that the query currently executing in this transaction performed. |
|
|
|
The total number of page cache faults that the query currently executing in this transaction performed. |
|
|
|
The initialization stacktrace for this transaction, or an empty |
|
|
|
Cypher 25 Introduced in Neo4j 2026.03 A map containing real time metrics of data modifications made by the query currently executing in this transaction, or |
|
| Key | Description |
|---|---|
|
Total number of nodes created. |
|
Total number of nodes deleted. |
|
Total number of relationships created. |
|
Total number of relationships deleted. |
|
Total number of properties set. |
|
Total number of labels added. |
|
Total number of labels removed. |
|
Total number of CSV file lines read. |
|
Total number of inner transactions started by the |
|
Total number of inner transactions committed by the |
|
Total number of inner transactions rolled back by the |
For more information about transactionsStarted, transactionsCommitted, and transactionsRolledBack see the Cypher Manual → CALL subqueries in transactions.
Examples
SHOW TRANSACTIONS
SHOW TRANSACTIONS YIELD *
SHOW TRANSACTIONS "neo4j-transaction-3"
SHOW TRANSACTIONS with WHERESHOW TRANSACTIONS YIELD database, currentQuery
WHERE currentQuery contains 'Mark'
SHOW TRANSACTIONS
YIELD transactionId, elapsedTime, cpuTime, waitTime, idleTime,
currentQueryElapsedTime, currentQueryCpuTime, currentQueryWaitTime, currentQueryIdleTime
RETURN
transactionId AS txId,
elapsedTime.milliseconds AS elapsedTimeMillis,
cpuTime.milliseconds AS cpuTimeMillis,
waitTime.milliseconds AS waitTimeMillis,
idleTime.seconds AS idleTimeSeconds,
currentQueryElapsedTime.milliseconds AS currentQueryElapsedTimeMillis,
currentQueryCpuTime.milliseconds AS currentQueryCpuTimeMillis,
currentQueryWaitTime.microseconds AS currentQueryWaitTimeMicros,
currentQueryIdleTime.seconds AS currentQueryIdleTimeSeconds
Terminate transactions
The TERMINATE TRANSACTIONS command is used to terminate running transactions by their IDs.
A user with the TERMINATE TRANSACTION privilege can terminate transactions, subject to the scope of their granted permissions.
All users may terminate their own currently executing transactions.
Syntax
For full details about the syntax descriptions, see Administration command syntax.
| Action | Syntax | ||
|---|---|---|---|
Terminate transactions by ID on the current server |
|
|
When using the |
Return columns
All columns are returned by default for TERMINATE TRANSACTIONS.
As a result, appending YIELD * to TERMINATE TRANSACTIONS does not return any additional information.
TERMINATE TRANSACTIONS returns the following columns:
| Column | Description | Type |
|---|---|---|
|
The transaction ID. |
|
|
The username of the user executing the transaction. |
|
|
The result of the |
|
Examples
TERMINATE TRANSACTIONS "neo4j-transaction-1","neo4j-transaction-2"
TERMINATE TRANSACTIONS with WHERETERMINATE TRANSACTIONS "neo4j-transaction-1","neo4j-transaction-2"
YIELD transactionId, message
WHERE message <> "Transaction terminated."
|
Unlike the |
Combine transaction commands
SHOW TRANSACTIONS can be combined with TERMINATE TRANSACTIONS to identify and terminate transactions in the same statement.
Multiple SHOW and TERMINATE transactions can be included in a single statement.
|
When combining |
Alice and terminate themSHOW TRANSACTIONS
YIELD transactionId AS txId, username AS user
WHERE user = "Alice"
TERMINATE TRANSACTIONS txId
YIELD message
RETURN txId, message
SHOW TRANSACTIONS
YIELD transactionId, waitTime
WHERE waitTime > duration({minutes: 30})
TERMINATE TRANSACTIONS transactionId
YIELD username, message
RETURN *
TERMINATE TRANSACTION 'neo4j-transaction-1', 'neo4j-transaction-2'
YIELD username AS terminatedUser
SHOW TRANSACTIONS
YIELD username AS showUser, transactionId AS txId, database, currentQuery, status
WHERE showUser = terminatedUser AND NOT status STARTS WITH 'Terminated'
RETURN txId, showUser AS user, database, currentQuery
SHOW TRANSACTION 'neo4j-transaction-1'
YIELD username AS originalUser, transactionId AS originalTxId
SHOW TRANSACTIONS
YIELD username AS newUser, transactionId AS txId, database, currentQuery, status
WHERE newUser = originalUser AND NOT txId = originalTxId
RETURN txId, newUser AS user, database, currentQuery, status
Combine transaction commands with other Cypher commandsCypher 25Introduced in 2026.05
SHOW TRANSACTIONS and TERMINATE TRANSACTIONS can be combined with other Cypher commands to form a single query.
|
When combining |
WITH ['neo4j-transaction-1', 'neo4j-transaction-2', 'mydb-transaction-1'] AS idsToTerminate
TERMINATE TRANSACTION idsToTerminate
YIELD username AS terminatedUser
WITH DISTINCT terminatedUser, idsToTerminate (1)
SHOW TRANSACTIONS
YIELD username AS showUser, transactionId AS txId, database, currentQuery
WHERE showUser = terminatedUser AND NOT txId IN idsToTerminate
RETURN txId, showUser AS user, database, currentQuery
| 1 | WITH DISTINCT is used to remove any duplicate users and transaction IDs. |
Glossary
- allocator
-
A component in the cluster that allocates databases to servers according to the topology constraints specified and an allocation strategy.
- asynchronous replication
-
Asynchronous replication is used by secondary copies to poll for new transactions, which means they cannot be guaranteed to have received the most recent transactions. This enables efficient scale-out of read-performance.
- Aura instance
-
A fully-managed DBMS represented by a single instance ID, that is running in the Neo4j Aura cloud.
- auto-commit transaction
-
An automatically committed transaction that contains a single query.
- Bolt protocol
-
Bolt is a protocol used for interaction between Neo4j instances and drivers.
- bookmark
-
A marker the client can request from the cluster to ensure that it is able to read its own writes so that the application’s state is consistent and only databases that have a copy of the bookmark are permitted to respond.
- category (Bloom)
-
A category is based on a node label and is defined in a Perspective as a way of visually distinguishing nodes with the same label(s).
- causal consistency
-
All servers in a cluster agree on the order in which transactions take place. The position of a server on the causal chain can be guaranteed using a bookmark.
- cluster
-
A Neo4j DBMS that spans multiple servers working together to increase fault tolerance and/or read scalability. Databases on a cluster may be configured to replicate across servers in the cluster thus achieving read scalability or high availability.
- client application
-
Software that interacts with a Neo4j server.
- commit
-
A commit is the successful completion of a transaction, which ensures durability of any changes made. For more details, visit Operations Manual → Transaction management.
- composite database
-
Composite databases are the means to access partitioned graph data with a single Cypher query.
- constraint
-
Constraints are sets of data modeling rules that ensure the data is consistent and reliable.
- Cypher®
-
Neo4j’s graph query language.
- data model
-
A data model defines how information is organized in a database. A good data model will make querying and understanding your data easier. In Neo4j, the data models have a graph structure.
- database
-
A database is a container used by the DBMS to manage and store graph data. The physical structure of data is controlled by the database.
- database vs graph
-
Databases are the physical containers of graph data. Graphs are the logical structure of data in Neo4j.
- Database Management System
-
Database Management System, or DBMS, capable of managing multiple databases. A DBMS may run on a single server, or span several servers configured as a cluster.
- database schema
-
The prescribed property existence and datatypes for nodes and relationships.
- deallocate
-
An act of removing a database from a server or a server from a cluster without loss of data or reduced fault tolerance.
- degree (of a node)
-
The number of relationships of a specific node; loops are counted twice.
- disaster recovery
-
A manual intervention to restore availability of a cluster, or databases within a cluster.
- driver
-
A software library that provides access to Neo4j from a particular programming language.
- election
-
In the event that the Raft leader becomes unresponsive, followers automatically trigger an election and vote for a new leader.
- entity
-
A node or a relationship.
- expression (Cypher)
-
A component of a Cypher query which produces values. It may be used in projections, as a predicate, or when setting properties on graph elements.
- fabric
-
Fabric is the architectural design of a unified system that provides a single access point to local or distributed graph data.
- fault tolerance
-
A guarantee that a cluster can maintain a database’s persistence and availability in the event of one or more servers failing.
- follower
-
A primary copy of a database acting as a follower, receives and acknowledges synchronous writes from the leader.
- Generative AI (GenAI)
-
A type of artificial intelligence (AI) system that generates text, images, or other media in response to prompts.
- graph
-
A logical representation of a set of nodes where some pairs are connected by relationships.
- index
-
Data structure that improves read performance of a database.
- knowledge graph
-
A specific type of graph that has an organizing principle so that a user (or a computer system) can reason about the underlying data. The organizing principle provides an additional layer of structure that adds context to support knowledge discovery.
- label
-
Marks a node as a member of a named and indexed subset. A node may be assigned zero or more labels.
- leader
-
A single primary copy of a database is designated as the leader. It receives all write transactions from clients and replicates writes synchronously to followers and asynchronously to secondary copies of the database.
- main database
-
In terms of Neo4j Enterprise Studio, the database(s) containing the user’s data. Can exist in the same Neo4j deployment as the tool asset database.
- motif
-
A description of a specific pattern within a graph.
- node
-
A node represents an entity or discrete object in your graph data model. Nodes can be connected by relationships, hold data in properties, and are classified by labels.
- operator
-
A symbol representing a mathematical or logical operation.
- parameter
-
Named value provided when running a Cypher statement.
- path
-
A sequence of nodes and the relationships connecting them, that does not contain duplicate relationships. Several paths can match a pattern.
- pattern
-
A specific arrangement of nodes and relationships that can be matched in a graph. A pattern follows a motif.
- perspective (Bloom)
-
A Perspective defines a certain business view or domain that can be found in the target Neo4j graph. A single Neo4j graph can be viewed through different Perspectives, each tailored for a different business purpose.
- primary
-
A copy of the database that is able to process write transactions and is eligible to be elected as a leader. It participates in fault tolerant writes as it is part of the majority required to acknowledge and commit write transactions.
- primary vs secondary
-
In a cluster, databases can operate in either primary or secondary mode. Primary databases are able to process write and read transactions, ensuring fault tolerance. Secondary databases are replicated asynchronously from primaries, and their main purpose is to provide read scaling within the cluster.
- project (Aura)
-
An isolated environment in the unified Aura console that contains its own database instances, configurations, and resources. Preceded by tenant in the classic Aura console.
- property
-
Properties are key-value pairs that are used for storing data on nodes and relationships.
- query (Cypher)
-
A statement that retrieves or writes information to a database.
- Raft group
-
A group of servers that are participating in hosting a particular database in primary mode.
- Raft group member
-
A server that is participating in a Raft group. A server can be a member of one or more groups.
- Raft log
-
A shared log between all Raft group members that is guaranteed to be consistently updated and viewed by those members. The log contains both database data and operational state of the Raft group.
- Raft protocol
-
The networking mechanism that enables a database to replicate its data across multiple servers to give high availability for accessing the data and high durability to the data stored.
- read scaling
-
Distributing query load by creating additional database copies hosted in secondary mode (read-only).
- relationship
-
A relationship represents a connection between nodes in your graph data model. Relationships connect a source node to a target node, hold data in properties, and are classified by type.
- secondary
-
An asynchronously replicated copy of the database that provides read scaling within the cluster.
- seed
-
A seed is a database dump or a full backup used to create a database on a cluster. This is sometimes called seeding.
- server
-
A physical machine, a virtual machine, or a container running an instance of Neo4j. Servers can be standalone or part of a cluster.
- session
-
A causally linked sequence of transactions.
- session consistency
-
An alternative name for Neo4j’s causal consistency.
- standalone
-
A single server running Neo4j and not part of a cluster.
- synchronous replication
-
Synchronous replication requires the leader primary to replicate a transaction and block the commit until a quorum of the follower primaries acknowledges that the transaction is successfully replicated. Once the transaction is replicated, the commit is allowed to proceed. This ensures data durability and consistency within the cluster.
- system database
-
A database used by Neo4j to store system information.
- tenant (Aura)
-
An isolated environment in the classic Aura console that contains its own database instances, configurations, and resources. Replaced by project in the unified Aura console.
- tool asset database
-
In terms of Neo4j Enterprise Studio, the database where tools' assets are stored. This can be in the same Neo4j deployment as the main database(s) or in a separate deployment.
- topology
-
A configuration that describes how the copies of a database should be spread across the servers in a cluster, see primary mode and secondary mode.
- transaction
-
A transaction comprises a unit of work performed against a database. It is treated in a coherent and reliable way, independent of other transactions. Transactions comply with the ACID consistency model (atomic, consistent, isolated, and durable).