创建一个数据库并使其成为“当前”

Vad*_*hin 4 postgresql

我有一个重新创建我的单元测试数据库的 sql 脚本。目前它与\i <path_to_my_script>. 它就像

// create user, give him some priveleges

CREATE DATABASE my_database;

CREATE TABLE my_table (
  id UUID primary key,
  data json
);
Run Code Online (Sandbox Code Playgroud)

但是my_table是在postgres数据库中创建的,而不是在my_database.

如何指定my_table应该在 中创建my_database


我使用 postgresql 10.5。

jja*_*nes 5

在“psql”中,您可以使用元命令更改您连接的数据库\c。所以它看起来像这样:

CREATE DATABASE my_database;
\c my_database
CREATE TABLE my_table (
  id UUID primary key,
  data json
);
Run Code Online (Sandbox Code Playgroud)

这适用于 '\i' 包含的文件。完成 \i 文件后,您将留在新数据库中,除非您执行某些操作将其改回旧数据库。