如何更改 CockroachDB 的默认数据库?

ben*_*sch 4 sql cockroachdb

当我使用 连接到 CockroachDB 时cockroach sql,我必须在所有表名前加上数据库名:

SELECT * FROM db.table1;
Run Code Online (Sandbox Code Playgroud)

如果我忘记指定数据库,例如

SELECT * FROM table1;
Run Code Online (Sandbox Code Playgroud)

我收到错误pq: table "table1" does not exist

ben*_*sch 5

您可以通过运行以下命令从活动的 SQL 会话设置数据库:

SET DATABASE = [database]
Run Code Online (Sandbox Code Playgroud)

您还可以在连接时通过将--database参数传递给来指定此项cockroach sql

SET DATABASE = [database]
Run Code Online (Sandbox Code Playgroud)

这两个都是按会话设置的,因此每次连接时都需要使用它们。

如果使用连接字符串,则可以将数据库指定为 URL 的路径段,例如:

cockroach sql --database=[database]
Run Code Online (Sandbox Code Playgroud)