You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL脚本中替代MySQL USE命令切换库创建ENUM类型

在PostgreSQL Docker初始化脚本中切换数据库创建ENUM类型

PostgreSQL没有MySQL那样的USE命令,但可以通过psql的专属元命令\c(或\connect)切换当前连接的数据库,而Docker初始化PostgreSQL时默认用psql执行脚本,完全适配这个场景。

直接修改你的SQL脚本即可:

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;

-- 切换到accounts数据库(psql元命令)
\c accounts

CREATE TYPE role as ENUM ('employee', 'admin', 'customer');

补充说明

  • \c accounts是psql的专属元命令,执行后后续所有SQL语句都会在accounts数据库中运行。
  • 这个方案完全适配Docker初始化流程,官方PostgreSQL镜像会通过psql运行挂载的初始化脚本,支持这类psql专属命令。
  • 若用其他不支持psql元命令的工具执行脚本,可单独连接accounts数据库执行CREATE TYPE语句,但Docker场景下用元命令是最简便的方式。

内容的提问来源于stack exchange,提问作者mork ruhtra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:05:17