gpt4 book ai didi

sql - Postgres 在特定数据库中创建模式

转载 作者:行者123 更新时间:2023-11-29 11:17:18 25 4
gpt4 key购买 nike

我从 stackoverflow.com 得到了一个在特定数据库中创建模式的建议,如下所示:

CREATE DATABASE foo; 
\connect foo;
CREATE SCHEMA yourschema;

但是我得到如下错误:

ERROR: syntax error at or near "\" LINE 2: \connect foo; ^

*** Error ***

ERROR: syntax error at or near "\"

情况:

以 postgress 身份登录
创建用户 u1
使用所有者 u1 创建数据库 db1
\连接 u1
创建模式 s1

请帮助我在特定数据库中创建模式。

最佳答案

这有效,如果 - 且仅当 - 你正在使用 psql:

postgres@berry-pc:~$ psql template1
psql (8.4.10)
Type "help" for help.

template1=# CREATE DATABASE foo;
CREATE DATABASE
template1=# \connect foo;
psql (8.4.10)
You are now connected to database "foo".
foo=# \connect template1
psql (8.4.10)
You are now connected to database "template1".
template1=# DROP DATABASE foo;
DROP DATABASE
template1=# \q

\connect 是一个 psql 命令。这不是普通的 SQL,因此您不能在 .sql 文件中使用它。据我所知,无法从 sql 文件中执行此操作。这背后的基本原理是,一旦您想使用不同的数据库,就应该重新连接到该不同的数据库。这是为了数据库分离。 MySQL 实现 use $database 语法的原因是因为它缺少模式,但 PostgreSQL 没有这样的命令,因为数据库应该在模式中分离,而不是数据库。

关于sql - Postgres 在特定数据库中创建模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com