列出数据库企业版
您可以使用 Cypher 命令 SHOW DATABASES 列出您的数据库。
语法
| 命令 | 语法 |
|---|---|
|
|
SHOW DATABASES 输出
根据您想要查看的内容,您可以列出:
-
所有数据库。
-
特定数据库。
-
DBMS 默认数据库。
-
主(Home)数据库。
这些命令返回以下列:
| 列 | 描述 | 类型 | 默认输出 |
|---|---|---|---|
|
数据库名称。 |
|
|
|
数据库类型: |
|
|
|
数据库可能拥有的任何别名名称。 |
|
|
|
数据库访问模式,即 |
|
|
|
数据库的唯一 ID。 仅适用于 |
|
|
|
服务器 ID。 |
|
|
|
集群 DBMS 中的服务器地址。独立服务器的默认值为 neo4j://:7687。 |
|
|
|
数据库的当前角色( 不适用于复合数据库(值为 |
|
|
|
如果是该数据库接受写入的副本,则为 |
|
|
|
数据库的预期状态。有效值为 |
|
|
|
数据库的实际状态。 可能的状态有:
详情请参阅 数据库状态。 |
|
|
|
解释数据库状态的消息,通常解释为什么它不在正确状态。 |
|
|
|
如果是 DBMS 的默认数据库,则为 |
|
|
|
如果是当前用户的主数据库,则为 |
|
|
|
当前报告为运行中的该数据库的主节点数量。它等同于 不适用于复合数据库[1]、虚拟分片数据库和属性分片。(值为 |
|
|
|
当前报告为运行中的该数据库的从节点数量。它等同于 不适用于复合数据库[1]、虚拟分片数据库和属性分片(值为 |
|
|
|
引入于 2025.12企业版 当前报告为运行中的该数据库的属性分片副本数量。它等同于 |
|
|
|
该数据库请求的主节点数量。如果 DBMS 当前正在减少数据库副本数量,则该值可能低于当前值;如果正在增加副本数量,则可能高于当前值。 不适用于复合数据库[1]、虚拟分片数据库和属性分片(值为 |
|
|
|
该数据库请求的从节点数量。如果 DBMS 当前正在减少数据库副本数量,则该值可能低于当前值;如果正在增加副本数量,则可能高于当前值。 不适用于复合数据库[1]、虚拟分片数据库和属性分片(值为 |
|
|
|
引入于 2025.12企业版 该数据库请求的属性分片副本数量。如果 DBMS 当前正在减少数据库副本数量,则该值可能低于当前值;如果正在增加副本数量,则可能高于当前值。 |
|
|
|
数据库创建的日期和时间。 |
|
|
|
数据库上次启动的日期和时间。 |
|
|
|
数据库上次停止的日期和时间。 |
|
|
|
关于存储引擎和存储格式的信息。 该值为格式为 仅适用于 不适用于复合数据库[1] 和虚拟分片数据库(值为 |
|
|
|
最后接收到的事务 ID。 仅适用于 不适用于复合数据库[1] 和虚拟分片数据库(值为 |
|
|
|
当前数据库与该数据库最新分配副本相比滞后的事务数。滞后以负整数表示。在独立环境中,该值始终为 仅适用于 不适用于复合数据库[1] 和属性分片数据库(值为 |
|
|
|
引入于 2025.12企业版 当前分片与分片数据库中最新的分片分配相比滞后的事务数。滞后以负整数表示。 |
|
|
|
数据库可能拥有的任何组成部分(constituent)的名称。仅适用于复合数据库。 |
|
|
|
引入于 2025.12企业版 数据库可能拥有的任何图分片名称。也适用于标准数据库(非分片数据库),它们拥有一个与数据库同名的图分片。不适用于复合数据库。 |
|
|
|
引入于 2025.12企业版 数据库可能拥有的任何属性分片名称。 |
|
|
|
引入于 Neo4j 2025.06 此数据库的默认 Cypher 版本。未加 Cypher 版本前缀的查询将使用该数据库的 Cypher 版本执行。 |
|
|
|
应用于数据库的选项映射。 不适用于复合数据库(值为 |
|
|
1. 复合数据库的更改适用于 2025.04 及更高版本以及 5.26.5 及更高版本。 | |||
SHOW DATABASES 命令的结果根据用户的 ACCESS 权限进行过滤。然而,某些权限使用户能够查看额外的数据库,而无需考虑他们的 ACCESS 权限:
-
拥有
CREATE/DROP/ALTER DATABASE或SET DATABASE ACCESS权限的用户可以查看所有标准数据库。 -
拥有
CREATE/DROP/ALTER COMPOSITE DATABASE或COMPOSITE DATABASE MANAGEMENT权限的用户可以查看所有复合数据库。 -
拥有
DATABASE MANAGEMENT权限的用户可以查看所有数据库。
SET DATABASE DEFAULT LANGUAGE 权限被特意排除,不会影响返回的数据库。
如果用户未被授予任何数据库的 ACCESS 权限,也没有上述特殊情况,该命令仍可执行,但只会返回始终可见的 system 数据库。
数据库状态
数据库的 currentStatus 可以是以下状态之一:
| 状态 | 描述 |
|---|---|
|
数据库正在运行。 |
|
数据库未运行。如果 |
|
数据库未运行,但即将启动。 |
|
数据库不再运行,但尚未完全停止。此时还不能执行离线操作(例如 |
|
数据库当前正在从另一个 Neo4j 实例进行更新。 |
|
数据库尚未创建。 |
|
仅适用于集群中的数据库。数据库仍在线,但由于其在集群中的角色转移到另一个成员,最终将离线。该状态保持为 |
|
此状态意味着发生了错误。数据库的底层存储文件可能已损坏。有关详细信息,请咨询 |
|
数据库已彻底停止,其状态在解除隔离之前无法更改。有关详细信息,请咨询 |
|
此 Neo4j 实例不知道该数据库的状态。 |
|
如果数据库是分片数据库,此状态表示并非所有分片都具有相同的 |
|
请注意,对于失败的数据库, |
显示所有可用数据库
可以使用命令 SHOW DATABASES 显示所有可用数据库的摘要。
SHOW DATABASES
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | aliases | access | address | role | writer | requestedStatus | currentStatus | statusMessage | default | home | constituents | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | "movies" | "standard" | ["films", "motion pictures"] | "read-write" | "localhost:7687" | "primary" | TRUE | "online" | "online" | "" | FALSE | FALSE | [] | | "neo4j" | "standard" | [] | "read-write" | "localhost:7687" | "primary" | TRUE | "online" | "online" | "" | TRUE | TRUE | [] | | "system" | "system" | [] | "read-write" | "localhost:7687" | "primary" | TRUE | "online" | "online" | "" | FALSE | FALSE | [] | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
托管在离线服务器上的数据库也会由 |
显示特定数据库的详细信息
在此示例中,可以使用命令 SHOW DATABASE name YIELD * 显示特定数据库的详细信息。当提供 YIELD 子句时,将返回完整的列集。
SHOW DATABASE movies YIELD *
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | type | aliases | access | databaseID | serverID | address | role | writer | requestedStatus | currentStatus | statusMessage | default | home | currentPrimariesCount | currentSecondariesCount | requestedPrimariesCount | requestedSecondariesCount | creationTime | lastStartTime | lastStopTime | store | lastCommittedTxn | replicationLag | constituents | defaultLanguage | options |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| "movies" | "standard" | ["films", "motion pictures"] | "read-write" | "C066801F54B44EA1520F0FE392B4005AABF42D8DD0A5FD09969B955575D287D5" | "e3063985-e2f4-4728-824b-a7d53779667a" | "localhost:7687" | "primary" | TRUE | "online" | "online" | "" | FALSE | FALSE | 1 | 0 | 1 | 0 | 2023-08-14T10:01:29.074Z | 2023-08-14T10:01:29.074Z | NULL | "record-aligned-1.1" | 3 | 0 | [] | "CYPHER 5" | {} |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
显示数据库数量
可以使用 YIELD 和 RETURN 子句中的 count() 函数查看不同数据库的数量。
SHOW DATABASES YIELD name
RETURN count(DISTINCT name) AS count
+-------+ | count | +-------+ | 3 | +-------+
通过指定 name 列并按不同名称对结果排序,统计的是不同数据库的数量,而不是集群环境中数据库分配的总数。
显示默认数据库
可以使用命令 SHOW DEFAULT DATABASE 查看默认数据库。
SHOW DEFAULT DATABASE
+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | aliases | access | address | role | writer | requestedStatus | currentStatus | statusMessage | constituents | +--------------------------------------------------------------------------------------------------------------------------------------------------------+ | "neo4j" | "standard" | [] | "read-write" | "localhost:7687" | "primary" | TRUE | "online" | "online" | "" | [] | +--------------------------------------------------------------------------------------------------------------------------------------------------------+
显示主数据库
可以使用命令 SHOW HOME DATABASE 查看当前用户的主数据库。
SHOW HOME DATABASE
+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | aliases | access | address | role | writer | requestedStatus | currentStatus | statusMessage | constituents | +--------------------------------------------------------------------------------------------------------------------------------------------------------+ | "neo4j" | "standard" | [] | "read-write" | "localhost:7687" | "primary" | TRUE | "online" | "online" | "" | [] | +--------------------------------------------------------------------------------------------------------------------------------------------------------+
过滤列出的数据库
还可以通过使用 YIELD、ORDER BY 和 WHERE 来过滤和排序结果。
SHOW DATABASES YIELD name, currentStatus, requestedStatus
ORDER BY currentStatus
WHERE name CONTAINS 'o'
在此示例中
-
使用
YIELD子句减少了返回的列数。 -
返回列的顺序已更改。
-
结果使用
ORDER BY按currentStatus列排序。 -
结果已过滤,仅显示名称中包含
'o'的数据库。
也可以使用 SKIP 和 LIMIT 对结果进行分页。
+--------------------------------------------+ | name | currentStatus | requestedStatus | +--------------------------------------------+ | "movies" | "online" | "online" | | "neo4j" | "online" | "online" | +--------------------------------------------+