PostgreSQL:在特定数据库中创建模式[非psql]

3
我正在尝试创建一个SQL文件,用PHP导入我的数据库/模式/表。
如果我使用PgAdmin,在CREATE TABLE后插入元命令\connect,如果我在PHP中使用pg_query运行SQL,则会生成错误。
阅读以下问题后: PostgreSQL: Create schema in specific databasePostgres Creating Schema in a specific database 我想问: 如何使用SQL命令(而非psql命令)在特定数据库内创建新模式? 特定的数据库不是默认命名为“postgres”的数据库,而是由我创建的另一个数据库。
1个回答

4
短答案是,如果您连接到另一个数据库,则无法使用纯SQL。由于Postgres中没有像MySQL中的"use database;",所以您必须打开与要在其中创建架构的特定数据库的连接(例如,在PHP中使用pg_connect)。正如您可能知道的那样,可以使用"CREATE SCHEMA..." SQL命令创建模式本身。也许使用pg_dump和pg_restore是您的选择。我还会看一下phpPgAdmin的源代码。希望这有点帮助。

谢谢你的回答!我会尝试用另一种方式来做。也许,先创建表格,然后通过pg_connect连接,再运行脚本来创建模式和表格。 - Marcelo Rodovalho

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接