Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ Generic Start
** xref:query/operations.adoc[Query operations]
** xref:query/command-reference.adoc[Command reference]

* xref:procedures.adoc[Aura procedures]
* xref:apoc.adoc[APOC support]

* Aura CLI
Expand Down
389 changes: 389 additions & 0 deletions modules/ROOT/pages/procedures.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,389 @@
= Aura built-in procedures reference

This page provides a reference for built-in procedures supported in Neo4j Aura (including both AuraDB and AuraDS).
Aura restricts access to certain administrative and custom capabilities due to its fully managed, secure architecture.
The full list of Neo4j procedures is available at link:https://neo4j.com/docs/operations-manual/current/procedures/[Operations Manual → Procedures]

To check which procedures are available in your Aura instance, run the following Cypher command in Query:

.List available procedures with default output columns
[source,cypher]
----
SHOW PROCEDURES
----

The following procedures are available or unavailable, as indicated, in Aura:

== Authentication and authorization

[cols="1,1"]
|===
|Procedure name | Notes

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_security_clearauthcache[`dbms.security.clearAuthCache()`]
|❌ Syntax error or access rule violation - permission/access denied

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_security_reloadTLS[`dbms.security.reloadTLS()`]
|❌ Syntax error or access rule violation - permission/access denied

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_showCurrentUser[`dbms.showCurrentUser()`]
|✅ Show the current user.
|===

== Background job management

[cols="1,1"]
|===
|Procedure name | Notes

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_scheduler_failedJobs[`dbms.scheduler.failedJobs()`]
|❌ Query terminated

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_scheduler_groups[`dbms.scheduler.groups()`]
|❌ Permission denied - cluster job management only.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_scheduler_jobs[`dbms.scheduler.jobs()`]
|❌ Permission denied - unavailable in single-instance deployments.

|===

== CDC

[cols="1,1"]
|===
|Procedure name | Notes

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_cdc_current[`cdc.current()`]
|✅ Lists current change data capture state (if CDC is enabled).

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_cdc_earliest[`cdc.earliest()`]
|✅ Returns earliest CDC state (if CDC is enabled).

|cdc.query()
|❌ Deprecated!

|db.cdc.current()
|✅

|db.cdc.earliest()
|✅

|db.cdc.query()
|❌ Syntax error or access rule violation - permission/access denied

|db.cdc.translateId()
|✅

|===

== Cluster management

Cluster members have procedures that are not available in standalone mode.

[cols="1,1"]
|===
|Procedure name | Notes

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_cluster_checkConnectivity[`dbms.cluster.checkConnectivity()`]
|

|dbms.cluster.cordonServer()
|

|dbms.cluster.deallocateDatabaseFromServer()
|

|dbms.cluster.deallocateDatabaseFromServers()
|

|dbms.cluster.deallocateNumberOfDatabases()
|

|dbms.cluster.protocols()
|

|dbms.cluster.readReplicaToggle()
|❌ Deprecated

|dbms.cluster.reallocateDatabase()
|

|dbms.cluster.reallocateNumberOfDatabases()
|

|dbms.cluster.recreateDatabase()
|

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_routing_getRoutingTable[`dbms.routing.getRoutingTable({context})`]
|Requires a map input. Fails with 0 arguments. Used internally for routing in clustered setups.

|dbms.cluster.secondaryReplicationDisable()
|

|dbms.cluster.setAutomaticallyEnableFreeServers()
|

|dbms.cluster.statusCheck()
|

|dbms.cluster.uncordonServer()
|

|dbms.recreateDatabase()
|

|dbms.setDefaultAllocationNumbers()
|

|dbms.showTopologyGraphConfig()
|

|===

== Configuration and DBMS info

[cols="1,1"]
|===
|Procedure name | Notes

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_checkConfigValue[`dbms.checkConfigValue()`]
|❌ Permission denied.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_listCapabilities[`dbms.listCapabilities()`]
|✅ List capabilities.

|dbms.components()
|✅ List DBMS components and their versions.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_info[`dbms.info();`]
|✅ Provides information regarding the DBMS.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_listCapabilities[`dbms.listCapabilities()`]
|✅ List capabilities.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_listConfig[`dbms.listConfig()`]
|List the currently active configuration settings of Neo4j. ❌ (AuraDB Professional) Error 42NFF: Syntax error or access rule violation - permission/access denied

|dbms.setConfigValue()
|❌ Syntax error or access rule violation - invalid input

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_listPools[`dbms.listPools()`]
|✅ List all memory pools, including sub pools, currently registered at this instance that are visible to the user.

|===

== Connection management

[cols="1,1"]
|===
|Procedure name | Notes

|dbms.listConnections()
|✅ List all accepted network connections at this instance that are visible to the user.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_killConnection[`dbms.killConnection()`]
|Likely supported, but requires correct usage and roles. Syntax errors may occur if misused.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms.killConnections[`dbms.killConnections()`]
|Likely supported, but requires correct usage and roles. Syntax errors may occur if misused.

|===

== Database management

[cols="1,1"]
|===
|Procedure name | Notes

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_checkpoint[`db.checkpoint()`]
|✅ Initiate and wait for a new check point, or wait any already on-going check point to complete.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_info[`db.info()`]
|Used for system-level diagnostics (❌ Not supported in Aura Free - 42NFF: Syntax error or access rule violation - permission/access denied
✅ Supported in Aura Pro)

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_listActiveLocks[`dbms.listActiveLocks('queryId')`]
|✅ List all locks at this database. (Requires a valid queryId. Will return syntax error if called without arguments.)

|db.listLocks()
|❌ Syntax error or access rule violation - permission/access denied

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_ping[`db.ping()`]
|✅ This procedure can be used by client side tooling to test whether they are correctly connected to a database. The procedure is available in all databases and always returns true. A faulty connection can be detected by not being able to call this procedure.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_setDefaultDatabase[`dbms.setDefaultDatabase()`]
|❌ Requires elevated access - restricted in Aura [With Enterprise Edition - this is up to customer admin and their RBAC setup]

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_quarantineDatabase[`dbms.quarantineDatabase(databaseName, status)`]
|❌ Requires at least 2 arguments. Not permitted in Aura.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_unquarantineDatabase[`dbms.unquarantineDatabase()`]
|❌ Same as above - forbidden in managed deployments.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_upgradeStatus[`dbms.upgrade()`]
|❌ Deprecated! Forbidden for client roles - handled by Neo4j infrastructure.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms.upgradeStatus()[`dbms.upgradeStatus()`]
|❌ Deprecated! Forbidden for client roles - handled by Neo4j infrastructure.
|===

== GenAI and vectors

link:https://neo4j.com/docs/cypher-manual/current/genai-integrations/#_installation[The GenAI plugin is enabled by default in Neo4j Aura.]

[cols="1,1"]
|===
|Procedure name | Notes

|db.create.setNodeVectorProperty
|✅

|db.create.setRelationshipVectorProperty
|✅

|db.create.setVectorProperty
|✅

|db.index.vector.createNodeIndex
|❌ Deprecated! https://neo4j.com/docs/cypher-manual/current/indexes/semantic-indexes/vector-indexes/#create-vector-index[Prior to Neo4j 5.15, node vector indexes were created using the db.index.vector.createNodeIndex procedure.]

|db.index.vector.queryNodes
|✅

|db.index.vector.queryRelationships
|✅

|genai.vector.encodeBatch
|✅

|genai.vector.listEncodingProviders
|✅

|===

== Index management

[cols="1,1"]
|===
|Procedure name | Notes

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_awaitIndex[`db.awaitIndex`]
|✅ Wait for an index to come online (for example: CALL db.awaitIndex("MyIndex", 300)).

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_awaitIndexes[`db.awaitIndexes`]
|✅ Wait for all indexes to come online (for example: CALL db.awaitIndexes(300)).

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_index_fulltext_awaitEventuallyConsistentIndexRefresh[`db.index.fulltext.awaitEventuallyConsistentIndexRefresh()`]
|✅ Wait for the updates from recently committed transactions to be applied to any eventually-consistent full-text indexes.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_index_fulltext_listAvailableAnalyzers[`db.index.fulltext.listAvailableAnalyzers()`]
|✅ List the available analyzers that the full-text indexes can be configured with.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_index_fulltext_queryNodes[`db.index.fulltext.queryNodes('index', 'query')`]
|✅ Query the given full-text index. Returns the matching nodes and their Lucene query score, ordered by score. ❌ Error 52U00: Procedure exception - custom procedure execution error cause

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_index_vector_queryRelationships[`db.index.fulltext.queryRelationships()`]
|✅ Query the given relationship vector index. Returns requested number of nearest neighbors to the provided query vector, and their similarity score to that query vector, based on the configured similarity function for the index. The similarity score is a value between [0, 1]; where 0 indicates least similar, 1 most similar.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_resampleIndex[`db.resampleIndex()`]
|✅ Schedule resampling of an index (for example: CALL db.resampleIndex("MyIndex")).

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_resampleOutdatedIndexes[`db.resampleOutdatedIndexes()`]
|✅ Schedule resampling of all outdated indexes.

|===

== Metrics

[cols="1,1"]
|===
|Procedure name | Notes

|dbms.queryJmx
|

|===

== Schema and metadata

[cols="1,1"]
|===
|Procedure name | Notes

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_schema_nodeTypeProperties[`db.schema.nodeTypeProperties()`]
|✅ Show the derived property schema of the nodes in tabular form.

|db.schema.relTypeProperties()
|✅ Show the derived property schema of the relationships in tabular form.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_schema_visualization[`db.schema.visualization()`]
|✅ Provides a visual representation of the database schema.

|db.schema.relTypeProperties
|✅ Show the derived property schema of the relationships in tabular form.

|db.createLabel
|✅ Create a label

|db.createProperty
|✅ Create a Property

|db.createRelationshipType
|✅ Create a RelationshipType

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_labels[`db.labels();`]
|✅List all labels used in the database.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_relationshipTypes[`db.relationshipTypes()`]
|✅Show all relationship types.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_propertyKeys[`db.propertyKeys()`]
|✅Returns all property keys in use.

|===

== Statistics and query planning

[cols="1,1"]
|===
|Procedure name | Notes

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_clearQueryCaches[`db.clearQueryCaches()`]
|❌ Executing admin procedure 'db.clearQueryCaches' permission has not been granted for user

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_stats_status[`db.stats.status()`]
|❌ Restricted access.

|db.stats.clear
|? ❌

|db.stats.collect()
|? ❌

|db.stats.retrieve()
|

|db.stats.retrieveAllAnonymized()
|

|db.stats.status()
|

|db.stats.stop()
|

|===

== Transaction management

[cols="1,1"]
|===
|Procedure name | Notes

|tx.getMetaData()
|❌ Syntax error or access rule violation

|tx.setMetaData()
|❌

|===
Loading