更改数据库

您可以使用 Cypher 命令 ALTER DATABASE 修改标准数据库。

语法

命令 语法

ALTER DATABASE

ALTER DATABASE name [IF EXISTS]
{
SET ACCESS {READ ONLY | READ WRITE} |
SET TOPOLOGY n PRIMAR{Y|IES} [m SECONDAR{Y|IES}] |
SET OPTION option value
}
[WAIT [n [SEC[OND[S]]]]|NOWAIT]
ALTER DATABASE name [IF EXISTS]
REMOVE OPTION option
[WAIT [n [SEC[OND[S]]]]|NOWAIT]

可以有多个 SET OPTIONREMOVE OPTION 子句,用于不同的选项键。

更改数据库访问模式

默认情况下,数据库在创建时具有读写访问模式。可以使用配置设置server.databases.default_to_read_onlyserver.databases.read_onlyserver.database.writable在创建时将数据库限制为只读模式。有关详细信息,请参阅有关配置参数的部分。

可以使用ALTER DATABASE命令,并使用子句SET ACCESS READ ONLY将以读写访问模式创建的数据库更改为只读模式。随后,可以使用子句SET ACCESS READ WRITE将数据库访问模式切换回读写模式。无论数据库是联机还是脱机,始终允许更改数据库访问模式。

如果通过ALTER DATABASE命令和配置参数设置了冲突的模式,即一个说是读写,另一个是只读,则数据库将为只读并阻止写入查询。

WAIT子句是在 Neo4j 5.7 中作为ALTER DATABASE命令的选项添加的。

修改访问模式仅适用于标准数据库,而不适用于复合数据库。

将数据库访问模式更改为只读模式

要修改数据库访问模式,请使用以下命令,其中customers是数据库名称

ALTER DATABASE customers SET ACCESS READ ONLY

数据库访问模式可以在命令SHOW DATABASESaccess输出列中看到

SHOW DATABASES yield name, access
结果
+----------------------------+
| name        | access       |
+----------------------------+
| "customers" | "read-only"  |
| "movies"    | "read-write" |
| "neo4j"     | "read-write" |
| "system"    | "read-write" |
+----------------------------+

使用IF EXISTS更改数据库访问

ALTER DATABASE命令是可选的幂等命令,默认行为是在数据库不存在的情况下返回错误。将IF EXISTS附加到命令确保在数据库不存在的情况下不会返回错误,并且不会发生任何事情。

ALTER DATABASE nonExisting IF EXISTS
SET ACCESS READ WRITE

更改数据库拓扑

在集群环境中,可以使用ALTER DATABASE命令更改托管数据库的服务器数量。有关更多信息,请参阅在集群中管理数据库

ALTER DATABASE选项

ALTER DATABASE命令可用于设置或删除数据库的特定选项。

描述

txLogEnrichment

FULL|DIFF|OFF

定义应用于事务日志以用于变更数据捕获 (CDC) 目的的丰富程度。有关丰富模式的详细信息,请参阅变更数据捕获手册→设置丰富模式

复合数据库没有可用的OPTIONS值。

修改为数据库设置的选项

ALTER DATABASE `movies`
SET OPTION txLogEnrichment 'FULL'

可以在命令SHOW DATABASESoptions输出列中看到数据库设置选项。

SHOW DATABASES yield name, options
表 1. 结果
名称 选项

"customers"

{}

"movies"

{txLogEnrichment: "FULL"}

"neo4j"

{}

"system"

{}

行数:4

删除为数据库设置的选项

ALTER DATABASE `movies`
REMOVE OPTION txLogEnrichment

REMOVE OPTION子句使用ALTER DATABASE命令从数据库中删除指定的选项。

SHOW DATABASES YIELD name, options
表 2. 结果
名称 选项

"customers"

{}

"movies"

{}

"neo4j"

{}

"system"

{}

行数:4