首页 > 解决方案 > PostgreSQL - 从脚本在特定数据库中创建 SCHEMA?

问题描述

我正在尝试创建一个数据库、一些角色和架构(由该角色拥有的脚本拥有)我的命令:psql -f script.sql

script.sql看起来像这样:

CREATE ROLE role1 WITH LOGIN PASSWORD 'somepasswd';
CREATE ROLE role2 WITH LOGIN PASSWORD 'somepasswd';
CREATE ROLE role3 WITH LOGIN PASSWORD 'somepasswd';

DROP DATABASE IF EXISTS [some_db];
CREATE DATABASE [some_db] OWNER role1;

-- create SCHEMA's
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role1;
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role2;
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role3;

脚本执行,但 SCHEMA 没有[some_db]按预期创建,而是在postgresdb 中创建。

所以,我正在寻找一种[some_db]在运行CREATE SCHEMA命令之前输入的方法(实际上相当于 MySQL 的USE [some_db].

任何人都可以指出我正确的方向吗?

标签: postgresql

解决方案


推荐阅读