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

标签 php sql postgresql

我正在尝试创建一个 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'的数据库,而是我自己创建的。

最佳答案

简短的回答是,如果您连接到另一个数据库,则不能使用纯 SQL。

由于在 Postgres 中没有 use database;,就像在 MySQL 中一样,您必须打开一个连接到您要在其中创建模式的特定数据库(例如,使用 PHP 中的 pg_connect) .

可以使用 CREATE SCHEMA... 创建模式本身 sql command你可能知道。

也许与 pg_dump 一起工作和 pg_restore是您的选择。我也会看看 phpPgAdmin 的来源.

希望对您有所帮助。

*约斯特

关于php - PostgreSQL:在特定数据库中创建模式 [NOT psql],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17707969/

相关文章:

php - 如何将 stdin 的内容(直到 EOF)读入 PHP 中的字符串?

使用来自 GROUP 或 RANK 的 WHERE 的 SQL 语句(第 2 部分)

sql - 选择时如何忽略某些相似的行

sql - MySql If 语句

sql - 使用 SQL 完全复制 postgres 表

ruby-on-rails - 通过关系在 has_many 上使用关联值来过滤事件管理中的表(Rails 4/事件管理)

php - map 距离错误

php - 需要更具体的 PHP While 循环来查询 MySQL 数据库

php - 无法执行菜单项(内部错误)[异常] - 将 PHP 版本从 5.3.1 更改为 5.2.9 时

postgresql - 扩展另一个图像标签时 Postgres docker 容器初始化脚本不运行