【发布时间】:2011-09-24 09:29:30
【问题描述】:
我需要编写一个 sql 脚本,在我刚刚创建的数据库中创建一个新数据库和一个新架构。 p>
我该怎么做?我可以以某种方式将当前数据库更改为新数据库吗?或者我可以以某种方式为 CREATE SCHEMA 指定数据库吗?
我使用的是 PostgreSQL 9.0
【问题讨论】:
标签: sql database schema postgresql
我需要编写一个 sql 脚本,在我刚刚创建的数据库中创建一个新数据库和一个新架构。 p>
我该怎么做?我可以以某种方式将当前数据库更改为新数据库吗?或者我可以以某种方式为 CREATE SCHEMA 指定数据库吗?
我使用的是 PostgreSQL 9.0
【问题讨论】:
标签: sql database schema postgresql
您可以连接到数据库,并执行“CREATE SCHEMA”语句。这应该会在该数据库中产生一个新模式。它并不像你想象的那么难;) 当你想从一个 .SQL 文件中执行此操作时,你可以使用 \connect 命令:
CREATE DATABASE foo;
\connect foo;
CREATE SCHEMA yourschema;
【讨论】:
pg_dumpall 并阅读它是如何做到的。或使用 \connect。随便哪一个。
\connect 是特定于 psql 的命令。尝试在另一个客户端(例如 pgAdmin3)中执行包含此类命令的 SQL 脚本将不起作用。
psql 标签。
使用新用户登录新数据库:
postgres=> \connect newdb user1
...
You are now connected to database "newdb" as user "user1".
newdb=>
在 newdb 中使用新用户“user1”创建架构:
newdb=> CREATE SCHEMA s1;
列出架构:
SELECT * from information_schema.schemata;
【讨论】: