Skip to content

aura procedures #747

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: console
Choose a base branch
from
Open
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
196 changes: 196 additions & 0 deletions modules/ROOT/pages/procedures.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
= 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 or Cypher shell:

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

== Supported built-in procedures

The following procedures are available in Aura:

== Schema and metadata

[cols="1,1"]
|===
|Procedure name | Notes
|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.

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

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_schema_nodeTypeProperties[`db.schema.nodeTypeProperties();`]
|Lists properties by node type.
|===

== Index management

[cols="1,1"]
|===
|Procedure name | Notes
|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_awaitIndex[`db.awaitIndex('MyIndex', 300);`]
|Wait for a specific index to come online. ❌ Error 52N02: Execution of the procedure db.awaitIndexByName() failed due to a client error.

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

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_index_fulltext_awaitEventuallyConsistentIndexRefresh[`db.index.fulltext.awaitEventuallyConsistentIndexRefresh();`]
|N/A

|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. ❌ Error 42I13: Syntax error or access rule violation - invalid number of procedure or function arguments

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_resampleIndex[`db.resampleIndex();`]
| ❌ Error 42I13: Syntax error or access rule violation - invalid number of procedure or function arguments

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_resampleOutdatedIndexes[`db.resampleOutdatedIndexes();`]
|N/A

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_clearQueryCaches[`db.clearQueryCaches();`]
|N/A
|===

== System and admin

[cols="1,1"]
|===
|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_checkpoint[`db.checkpoint();`]
|Triggers a manual checkpoint. Temporarily bypasses IOPS limit for faster completion.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_ping[`db.ping();`]
|Ping the DB (for latency/debugging).

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_info[`dbms.info();`]
|Returns version and system metadata.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_listCapabilities[`dbms.listCapabilities();`]
|N/A

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_listPools[`dbms.listPools();`]
|N/A
|===

== CDC

[cols="1,1"]
|===
|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 enabled).

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_showCurrentUser[`dbms.showCurrentUser();`]
|N/A
|===

== Restricted and partially supported procedures

The following are restricted in Aura (e.g. due to permission, cluster, or filesystem constraints).

[cols="1,1"]
|===
|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_info[`db.info()`]
|Used for system-level diagnostics (❌ Not supported in Aura Free ✅ Supported in Aura Pro) label:

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

|`dbms.procedures()` / `dbms.functions()`
|Do not return full results - admin-level visibility is blocked.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_listConfig[`dbms.listConfig()`]
|Forbidden

|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_security_clearauthcache[`dbms.security.clearAuthCache()`]
|Not allowed for user-level roles.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_security_reloadTLS[`dbms.security.reloadTLS()`]
|Same as above - admin permissions required.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_scheduler_failedJobs[`dbms.scheduler.failedJobs()`]
|Not supported - relates to job monitoring in cluster mode.

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

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

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_cluster_checkConnectivity[`dbms.cluster.checkConnectivity()`]
|Requires clustered deployment - not available in AuraDB.

|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_setDefaultDatabase[`dbms.setDefaultDatabase()`]
|Requires elevated access - restricted in Aura.

|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()`]
|Forbidden for client roles - handled by Neo4j infrastructure.

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

== Usable with caveats

[cols="1,1"]
|===
|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_dbms_listActiveLocks[`dbms.listActiveLocks('queryId')`]
|Requires a valid queryId. Will return syntax error if called without arguments.

|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.

|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.
|===

== Unsupported capabilities in Aura

Neo4j Aura is a fully managed, cloud-hosted platform, and for security and stability reasons it does not support:

* User-defined procedures
(i.e., uploading or registering your own Java procedures or extensions)

* APOC Full
(such as apoc.trigger, apoc.load.jdbc, apoc.custom.*, etc.)
The relevant Aura APOC docs are available at: https://neo4j.com/docs/aura/apoc/

* in Aura we only support a sub section of APOC Core / OR? Aura supports all APOC core functions.
* We also do not have support for APOC Extended library in Aura `apoc.custom` falls under that category
* Filesystem-level access: Any procedure that attempts to read from or write to the local disk is restricted.

* `dbms.security.procedures`
Generally locked down, especially those involving user auth, certificates, TLS reloads, or credential cache clearing.
Loading