From 5687ee716d20955b8ee5d2895bf4db98520f9893 Mon Sep 17 00:00:00 2001 From: Fi Quick <47183728+fiquick@users.noreply.github.com> Date: Fri, 4 Jul 2025 14:06:28 +0100 Subject: [PATCH 1/6] aura procedures --- modules/ROOT/content-nav.adoc | 1 + modules/ROOT/pages/query/procedures.adoc | 164 +++++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 modules/ROOT/pages/query/procedures.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index a85501ede..f448b9719 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -76,6 +76,7 @@ Generic Start ** xref:query/introduction.adoc[What is Query?] ** xref:query/visual-tour.adoc[Visual tour] ** xref:query/operations.adoc[Query operations] +** xref:query/procedures.adoc[Aura procedures] * xref:apoc.adoc[APOC support] diff --git a/modules/ROOT/pages/query/procedures.adoc b/modules/ROOT/pages/query/procedures.adoc new file mode 100644 index 000000000..aee236e22 --- /dev/null +++ b/modules/ROOT/pages/query/procedures.adoc @@ -0,0 +1,164 @@ += 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. +This guide highlights what is available, how to use them, and which procedures are not supported. + +The full list of Neo4j procedures is available at https://neo4j.com/docs/operations-manual/current/procedures/ + +To check which procedures are available in your Aura instance, run the following Cypher command in the query editor or Cypher shell: + +.List available procedures with default output columns +[source,cypher] +---- +SHOW PROCEDURES; +---- + +.All procedures must be called with the CALL keyword, e.g. +[source,cypher] +---- +CALL db.labels(); +---- + +== Supported Built-in Procedures + +The following procedures are available in Aura by default: + +== Schema and Metadata + +`CALL db.labels();` +List all labels used in the database. + +`CALL db.relationshipTypes();` +Show all relationship types. + +`CALL db.propertyKeys();` +Returns all property keys in use. + +`CALL db.schema.visualization();` +Provides a visual representation of the database schema. + +`CALL db.schema.nodeTypeProperties();` +Lists properties by node type. + +== Index and Query Management + +`CALL db.awaitIndex('MyIndex', 300);` +Wait for a specific index to come online. + +`CALL db.awaitIndexes(300);` +Wait for all indexes to come online. + +`CALL db.index.fulltext.awaitEventuallyConsistentIndexRefresh();` + +`CALL db.index.fulltext.listAvailableAnalyzers();` + +`CALL db.index.fulltext.queryNodes('index', 'query');` +(requires 2+ parameters) + +`CALL db.index.fulltext.queryRelationships()` + +`CALL db.resampleIndex();` + +`CALL db.resampleOutdatedIndexes();` + +`CALL db.clearQueryCaches();` + +== System and Admin + +`CALL db.checkpoint();` +Triggers a manual checkpoint. Temporarily bypasses IOPS limit for faster completion. + +`CALL db.ping();` +Ping the DB (for latency/debugging). + +`CALL dbms.info();` +Returns version and system metadata. + +`CALL dbms.listCapabilities();` + +`CALL dbms.listPools();` + +`CALL cdc.current();` +Lists current change data capture state (if CDC is enabled). + +`CALL cdc.earliest();` +Returns earliest CDC state (if enabled). + +`CALL dbms.showCurrentUser();` + +== Restricted or Partially Supported Procedures + +The following are known to be restricted in Aura (e.g. due to permission, cluster, or filesystem constraints). + +`CALL db.info()` +Used for system-level diagnostics (❌ Not supported in Aura Free ✅ Supported in Aura Pro) + +`CALL db.stats.status()` +Restricted access. + +`CALL dbms.procedures()` / `CALL dbms.functions()` +Do not return full results - admin-level visibility is blocked. + +`CALL dbms.listConfig()` +Forbidden + +`CALL dbms.checkConfigValue()` +Permission denied. + +`CALL dbms.security.clearAuthCache()` +Not allowed for user-level roles. + +`CALL dbms.security.reloadTLS()` +Same as above - admin permissions required. + +`CALL dbms.scheduler.failedJobs()` +Not supported - relates to job monitoring in cluster mode. + +`CALL dbms.scheduler.groups()` +Same - cluster job management only. + +`CALL dbms.scheduler.jobs()` +Same - unavailable in single-instance deployments. + +`CALL dbms.cluster.checkConnectivity()` +Requires clustered deployment - not available in AuraDB. + +`CALL dbms.setDefaultDatabase()` +Requires elevated access - restricted in Aura. + +`CALL dbms.quarantineDatabase(databaseName, status)` +Requires at least 2 arguments. Not permitted in Aura. + +`CALL dbms.unquarantineDatabase()` +Same as above - forbidden in managed deployments. + +`CALL dbms.upgrade()` / `CALL dbms.upgradeStatus()` +Forbidden for client roles - handled by Neo4j infrastructure. + +== Usable, But With Caveats + +`CALL dbms.listActiveLocks('queryId')` +Requires a valid queryId. Will return syntax error if called without arguments. + +`CALL dbms.killConnection()` / `CALL dbms.killConnections()` +Likely supported, but requires correct usage and roles. Syntax errors may occur if misused. + +`CALL 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.) + +* 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. \ No newline at end of file From 5cbcc6415b7e1f0fb4874433d471ef445ccbd72e Mon Sep 17 00:00:00 2001 From: Fi Quick <47183728+fiquick@users.noreply.github.com> Date: Wed, 16 Jul 2025 11:32:50 +0100 Subject: [PATCH 2/6] aura procedures --- modules/ROOT/pages/query/procedures.adoc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/ROOT/pages/query/procedures.adoc b/modules/ROOT/pages/query/procedures.adoc index aee236e22..606218e2c 100644 --- a/modules/ROOT/pages/query/procedures.adoc +++ b/modules/ROOT/pages/query/procedures.adoc @@ -1,10 +1,10 @@ -= Aura Built-in Procedures Reference += 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. This guide highlights what is available, how to use them, and which procedures are not supported. -The full list of Neo4j procedures is available at https://neo4j.com/docs/operations-manual/current/procedures/ +The full list of Neo4j procedures is available at link:https://neo4j.com/docs/operations-manual/current/procedures/[Procedures] To check which procedures are available in your Aura instance, run the following Cypher command in the query editor or Cypher shell: @@ -20,11 +20,11 @@ SHOW PROCEDURES; CALL db.labels(); ---- -== Supported Built-in Procedures +== Supported built-in procedures -The following procedures are available in Aura by default: +The following procedures are available in Aura: -== Schema and Metadata +== Schema and metadata `CALL db.labels();` List all labels used in the database. @@ -41,7 +41,7 @@ Provides a visual representation of the database schema. `CALL db.schema.nodeTypeProperties();` Lists properties by node type. -== Index and Query Management +== Index and query management `CALL db.awaitIndex('MyIndex', 300);` Wait for a specific index to come online. @@ -64,7 +64,7 @@ Wait for all indexes to come online. `CALL db.clearQueryCaches();` -== System and Admin +== System and admin `CALL db.checkpoint();` Triggers a manual checkpoint. Temporarily bypasses IOPS limit for faster completion. @@ -87,9 +87,9 @@ Returns earliest CDC state (if enabled). `CALL dbms.showCurrentUser();` -== Restricted or Partially Supported Procedures +== Restricted and partially supported procedures -The following are known to be restricted in Aura (e.g. due to permission, cluster, or filesystem constraints). +The following are restricted in Aura (e.g. due to permission, cluster, or filesystem constraints). `CALL db.info()` Used for system-level diagnostics (❌ Not supported in Aura Free ✅ Supported in Aura Pro) @@ -136,7 +136,7 @@ Same as above - forbidden in managed deployments. `CALL dbms.upgrade()` / `CALL dbms.upgradeStatus()` Forbidden for client roles - handled by Neo4j infrastructure. -== Usable, But With Caveats +== Usable with caveats `CALL dbms.listActiveLocks('queryId')` Requires a valid queryId. Will return syntax error if called without arguments. @@ -147,7 +147,7 @@ Likely supported, but requires correct usage and roles. Syntax errors may occur `CALL dbms.routing.getRoutingTable({context})` Requires a map input. Fails with 0 arguments. Used internally for routing in clustered setups. -== Unsupported Capabilities in Aura +== Unsupported capabilities in Aura Neo4j Aura is a fully managed, cloud-hosted platform, and for security and stability reasons it does not support: From a5784326b87967c8fbe4be5449800fe52885c2bb Mon Sep 17 00:00:00 2001 From: Fi Quick <47183728+fiquick@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:58:18 +0100 Subject: [PATCH 3/6] Update modules/ROOT/pages/query/procedures.adoc Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com> --- modules/ROOT/pages/query/procedures.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/query/procedures.adoc b/modules/ROOT/pages/query/procedures.adoc index 606218e2c..958043e74 100644 --- a/modules/ROOT/pages/query/procedures.adoc +++ b/modules/ROOT/pages/query/procedures.adoc @@ -2,7 +2,6 @@ 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. -This guide highlights what is available, how to use them, and which procedures are not supported. The full list of Neo4j procedures is available at link:https://neo4j.com/docs/operations-manual/current/procedures/[Procedures] From 0cd6cd311d2438a17fb7afff933ca76743d2a821 Mon Sep 17 00:00:00 2001 From: Fi Quick <47183728+fiquick@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:59:46 +0100 Subject: [PATCH 4/6] Apply suggestions from code review Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com> --- modules/ROOT/pages/query/procedures.adoc | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/modules/ROOT/pages/query/procedures.adoc b/modules/ROOT/pages/query/procedures.adoc index 958043e74..470f1338a 100644 --- a/modules/ROOT/pages/query/procedures.adoc +++ b/modules/ROOT/pages/query/procedures.adoc @@ -5,7 +5,7 @@ Aura restricts access to certain administrative and custom capabilities due to i The full list of Neo4j procedures is available at link:https://neo4j.com/docs/operations-manual/current/procedures/[Procedures] -To check which procedures are available in your Aura instance, run the following Cypher command in the query editor or Cypher shell: +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] @@ -13,11 +13,6 @@ To check which procedures are available in your Aura instance, run the following SHOW PROCEDURES; ---- -.All procedures must be called with the CALL keyword, e.g. -[source,cypher] ----- -CALL db.labels(); ----- == Supported built-in procedures @@ -25,7 +20,7 @@ The following procedures are available in Aura: == Schema and metadata -`CALL db.labels();` +`db.labels();` List all labels used in the database. `CALL db.relationshipTypes();` From d3b8a70c63661abe03c11d22357b5ec3d0ce581e Mon Sep 17 00:00:00 2001 From: Fi Quick <47183728+fiquick@users.noreply.github.com> Date: Thu, 14 Aug 2025 19:58:32 +0100 Subject: [PATCH 5/6] update nav and hyperlinks --- modules/ROOT/content-nav.adoc | 2 +- modules/ROOT/pages/procedures.adoc | 200 +++++++++++++++++++++++ modules/ROOT/pages/query/procedures.adoc | 158 ------------------ 3 files changed, 201 insertions(+), 159 deletions(-) create mode 100644 modules/ROOT/pages/procedures.adoc delete mode 100644 modules/ROOT/pages/query/procedures.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index a756a3c0d..86c077c34 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -76,9 +76,9 @@ Generic Start ** xref:query/introduction.adoc[What is Query?] ** xref:query/visual-tour.adoc[Visual tour] ** xref:query/operations.adoc[Query operations] -** xref:query/procedures.adoc[Aura procedures] ** xref:query/command-reference.adoc[Command reference] +* xref:procedures.adoc[Aura procedures] * xref:apoc.adoc[APOC support] * Aura CLI diff --git a/modules/ROOT/pages/procedures.adoc b/modules/ROOT/pages/procedures.adoc new file mode 100644 index 000000000..2a311fd72 --- /dev/null +++ b/modules/ROOT/pages/procedures.adoc @@ -0,0 +1,200 @@ += 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/[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. (I got this error message > 52N02: Procedure exception - procedure execution client error +Execution of the procedure db.awaitIndexByName() failed due to a client error. +Show less +22N69: Data exception - index does not exist +The index 'MyIndex' does not exist.) + +|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();`] +|N/A + +|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_index_fulltext_queryNodes[`db.index.fulltext.queryNodes('index', 'query');`] +|(requires 2+ parameters) + +|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_index_vector_queryRelationships[`db.index.fulltext.queryRelationships()`] +|N/A + +|https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_resampleIndex[`db.resampleIndex();`] +|N/A + +|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. \ No newline at end of file diff --git a/modules/ROOT/pages/query/procedures.adoc b/modules/ROOT/pages/query/procedures.adoc deleted file mode 100644 index 470f1338a..000000000 --- a/modules/ROOT/pages/query/procedures.adoc +++ /dev/null @@ -1,158 +0,0 @@ -= 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/[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 - -`db.labels();` -List all labels used in the database. - -`CALL db.relationshipTypes();` -Show all relationship types. - -`CALL db.propertyKeys();` -Returns all property keys in use. - -`CALL db.schema.visualization();` -Provides a visual representation of the database schema. - -`CALL db.schema.nodeTypeProperties();` -Lists properties by node type. - -== Index and query management - -`CALL db.awaitIndex('MyIndex', 300);` -Wait for a specific index to come online. - -`CALL db.awaitIndexes(300);` -Wait for all indexes to come online. - -`CALL db.index.fulltext.awaitEventuallyConsistentIndexRefresh();` - -`CALL db.index.fulltext.listAvailableAnalyzers();` - -`CALL db.index.fulltext.queryNodes('index', 'query');` -(requires 2+ parameters) - -`CALL db.index.fulltext.queryRelationships()` - -`CALL db.resampleIndex();` - -`CALL db.resampleOutdatedIndexes();` - -`CALL db.clearQueryCaches();` - -== System and admin - -`CALL db.checkpoint();` -Triggers a manual checkpoint. Temporarily bypasses IOPS limit for faster completion. - -`CALL db.ping();` -Ping the DB (for latency/debugging). - -`CALL dbms.info();` -Returns version and system metadata. - -`CALL dbms.listCapabilities();` - -`CALL dbms.listPools();` - -`CALL cdc.current();` -Lists current change data capture state (if CDC is enabled). - -`CALL cdc.earliest();` -Returns earliest CDC state (if enabled). - -`CALL dbms.showCurrentUser();` - -== Restricted and partially supported procedures - -The following are restricted in Aura (e.g. due to permission, cluster, or filesystem constraints). - -`CALL db.info()` -Used for system-level diagnostics (❌ Not supported in Aura Free ✅ Supported in Aura Pro) - -`CALL db.stats.status()` -Restricted access. - -`CALL dbms.procedures()` / `CALL dbms.functions()` -Do not return full results - admin-level visibility is blocked. - -`CALL dbms.listConfig()` -Forbidden - -`CALL dbms.checkConfigValue()` -Permission denied. - -`CALL dbms.security.clearAuthCache()` -Not allowed for user-level roles. - -`CALL dbms.security.reloadTLS()` -Same as above - admin permissions required. - -`CALL dbms.scheduler.failedJobs()` -Not supported - relates to job monitoring in cluster mode. - -`CALL dbms.scheduler.groups()` -Same - cluster job management only. - -`CALL dbms.scheduler.jobs()` -Same - unavailable in single-instance deployments. - -`CALL dbms.cluster.checkConnectivity()` -Requires clustered deployment - not available in AuraDB. - -`CALL dbms.setDefaultDatabase()` -Requires elevated access - restricted in Aura. - -`CALL dbms.quarantineDatabase(databaseName, status)` -Requires at least 2 arguments. Not permitted in Aura. - -`CALL dbms.unquarantineDatabase()` -Same as above - forbidden in managed deployments. - -`CALL dbms.upgrade()` / `CALL dbms.upgradeStatus()` -Forbidden for client roles - handled by Neo4j infrastructure. - -== Usable with caveats - -`CALL dbms.listActiveLocks('queryId')` -Requires a valid queryId. Will return syntax error if called without arguments. - -`CALL dbms.killConnection()` / `CALL dbms.killConnections()` -Likely supported, but requires correct usage and roles. Syntax errors may occur if misused. - -`CALL 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.) - -* 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. \ No newline at end of file From 8cbeaa8cae3515e0c000054aab4c88300734f854 Mon Sep 17 00:00:00 2001 From: Fi Quick <47183728+fiquick@users.noreply.github.com> Date: Wed, 20 Aug 2025 14:29:25 +0100 Subject: [PATCH 6/6] update --- modules/ROOT/pages/procedures.adoc | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/modules/ROOT/pages/procedures.adoc b/modules/ROOT/pages/procedures.adoc index 2a311fd72..01c8caf4a 100644 --- a/modules/ROOT/pages/procedures.adoc +++ b/modules/ROOT/pages/procedures.adoc @@ -3,7 +3,7 @@ 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/[Procedures] +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: @@ -44,11 +44,7 @@ The following procedures are available in Aura: |=== |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. (I got this error message > 52N02: Procedure exception - procedure execution client error -Execution of the procedure db.awaitIndexByName() failed due to a client error. -Show less -22N69: Data exception - index does not exist -The index 'MyIndex' does not exist.) +|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. @@ -57,16 +53,16 @@ The index 'MyIndex' does not exist.) |N/A |https://neo4j.com/docs/operations-manual/current/procedures/#procedure_db_index_fulltext_listAvailableAnalyzers[`db.index.fulltext.listAvailableAnalyzers();`] -|N/A +|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');`] -|(requires 2+ parameters) +|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()`] -|N/A +|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();`] -|N/A +| ❌ 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