【发布时间】:2022-12-09 20:56:39
【问题描述】:
我正在从一个文件创建 3 个数据库:
CREATE DATABASE "products"
WITH
OWNER = postgres
ENCODING = "UTF8"
CONNECTION LIMIT = -1
IS_TEMPLATE = False;
CREATE DATABASE "accounts"
WITH
OWNER = postgres
ENCODING = "UTF8"
CONNECTION LIMIT = -1
IS_TEMPLATE = False;
CREATE TYPE role as ENUM ('employee', 'admin', 'customer');
现在我想在帐户数据库中创建类型角色。当前脚本只是在“默认”postgres 数据库中创建角色。我习惯了可以使用“use”命令的 MySQL 语法。知道如何对 PostgreSQL 脚本使用类似的命令吗?
对于其他上下文:此 SQL 文件在初始化时在 PostgreSQL docker 容器中执行。
我尝试了以下内容:
- 使用“使用”命令。 -> 无法识别。
- 使用“选择”命令。 -> 无效。
【问题讨论】:
-
在
psql中,您使用\connect切换到不同的数据库。 MySQL 所谓的数据库实际上是一个模式。所以如果你想模仿 MySQL 的行为,只需创建两个图式在 Postgres 中,不是两个数据库。 -
@a_horse_with_no_name 感谢您的建议!目前我有多个微服务连接到同一个数据库服务器(但每个服务都有自己的数据库)。我宁愿保持这样。我想我可以为每项服务提供它们自己的数据库服务器……
标签: postgresql