繁体   English   中英

在 pgadmin iii 中导入 .sql 文件

[英]Import .sql file in pgadmin iii

我想在 PostgreSQL 中导入一个 sql 文件。 我正在使用 pgadmin iii。 我在 phpmyadmin 中创建了一个 sql 文件,现在我想在 pgadmin iii 中导入相同的文件。 我正在执行以下操作,但对我不起作用。 我在 pgadmin iii 中选择数据库的架构,然后我尝试执行以下查询:

\i C:/Users/umair/Downloads/school_management_system(1).sql

但它会产生一个错误,错误是:

ERROR:  syntax error at or near "\"
LINE 1: \i C:/Users/umair/Downloads/school_management_system(1).sql
        ^
********** Error **********

ERROR: syntax error at or near "\"
SQL state: 42601
Character: 1

请帮帮我。

我认为导入 sql 文件的最佳方法是使用psql工具,如下所示:

psql -U postgres -h localhost -d my_database -f "C:/Users/umair/Downloads/school_management_system(1).sql"

您不能通过 pgAdmin 导入普通的 *sql 文件。 它仅支持通过( pg_restore - pgAdmin 在后台使用)创建的自定义导入。

对于此任务,您应该使用命令行,而不是 pgAdmin。 您对另一个答案的评论表明您从 pgAdmin 执行了该命令。 这是行不通的。

psql -U username -h localhost -d database_name < path/to/your/file.sql

请注意,-h 是可选的,它取决于您如何连接到系统。

在 Windows 上,我只能从常规 CMD 控制台窗口运行 psql 命令,而不能从 bash 窗口运行,就像我安装了 git 一样。 你应该在 C:\\Program Files\\PostgreSQL\\9.4\\bin 之类的地方有 psql.exe。

@DrColossos 是正确的。 您必须从包含 psql.exe 可执行文件的目录中的命令行使用该命令。

请记住,如果您使用此命令替换系统上已有的数据库,则必须在运行该命令之前删除该数据库。

如果您在运行命令后遇到奇怪的索引问题,请参阅本教程了解如何修复它。

如果您使用的是 Windows,请使用 pgsql Shell 输入您的服务器和数据库以及用户信息,然后在不带任何引号的情况下运行

\i D:/folder/your_table.sql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM