列出数据库
您可以使用 Cypher 命令 SHOW DATABASES
列出您的数据库。
语法
命令 | 语法 |
---|---|
|
|
SHOW DATABASES
输出
根据您想要查看的内容,您可以列出
-
所有数据库。
-
特定数据库。
-
默认数据库。
-
主数据库。
这些命令返回以下列
列 | 描述 | 类型 |
---|---|---|
|
数据库的名称。 默认输出 |
|
|
数据库的类型: |
|
|
数据库可能具有的任何别名的名称。 默认输出 |
|
|
数据库访问模式,可以是 |
|
|
数据库唯一 ID。 要使此值可用,数据库必须处于 |
|
|
服务器实例 ID。 |
|
|
集群式 DBMS 中的实例地址。独立数据库的默认值为 |
|
|
数据库的当前角色( |
|
|
对于接受此数据库写入的实例,值为 |
|
|
数据库的预期状态。该值可以是 |
|
|
数据库的实际状态。 默认输出 可能的状态为
有关更多信息,请参阅 数据库状态。 |
|
|
解释数据库状态的消息,通常解释为什么它没有处于正确状态。 默认输出 |
|
|
显示这是否是 DBMS 的默认数据库。 默认输出 |
|
|
如果这是当前用户的 home 数据库,则显示。 默认输出 |
|
|
当前报告为正在运行的此数据库的主副本数量。它与 |
|
|
当前报告为正在运行的此数据库的从副本数量。它与 |
|
|
此数据库请求的主副本数量。如果 DBMS 当前正在减少数据库副本数量,则可能低于当前值;如果当前正在增加副本数量,则可能高于当前值。 |
|
|
此数据库请求的从副本数量。如果 DBMS 当前正在减少数据库副本数量,则可能低于当前值;如果当前正在增加副本数量,则可能高于当前值。 |
|
|
创建数据库的日期和时间。 |
|
|
数据库上次启动的日期和时间。 |
|
|
数据库上次停止的日期和时间。 |
|
|
有关存储引擎和存储格式的信息。 该值格式化为字符串,如下所示:
要使此值可用,数据库必须处于 |
|
|
接收到的最后一个事务的 ID。 要使此值可用,数据库必须处于 |
|
|
与主实例上的数据库相比,当前数据库落后的事务数。延迟以负整数表示。在独立环境中,该值始终为 要使此值可用,数据库必须处于 |
|
|
数据库可能具有的任何组成部分的名称。仅适用于复合数据库。 默认输出 |
|
|
应用于数据库的选项映射。 |
|
SHOW DATABASES
命令的结果根据用户的 ACCESS
权限进行过滤。但是,某些权限允许用户查看其他数据库,而不管其 ACCESS
权限如何。
-
具有
CREATE/DROP/ALTER DATABASE
或SET DATABASE ACCESS
权限的用户可以查看所有标准数据库。 -
具有
CREATE/DROP COMPOSITE DATABASE
或COMPOSITE DATABASE MANAGEMENT
权限的用户可以查看所有复合数据库。 -
具有
DATABASE MANAGEMENT
权限的用户可以查看所有数据库。
如果用户未被授予任何数据库的 ACCESS
权限,也未被授予上述任何特殊情况的权限,则仍可以执行该命令,但它只会返回始终可见的 system
数据库。
数据库状态
数据库的 currentStatus
可以是以下之一
State | 描述 |
---|---|
|
数据库正在运行。 |
|
数据库未运行。如果 |
|
数据库未运行,但即将运行。 |
|
数据库不再运行,但尚未完全停止。尚无法执行脱机操作(例如 |
|
数据库当前正在从 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 | [] | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
从 Neo4j 5.3 开始, |
显示特定数据库的详细信息
在此示例中,可以使用命令 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 | 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 | [] | {} | +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
显示数据库数量
可以使用 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" | "" | [] | +--------------------------------------------------------------------------------------------------------------------------------------------------------+
显示 home 数据库
可以使用命令 SHOW HOME DATABASE
查看当前用户的 home 数据库。
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" | +--------------------------------------------+