在pgadmin中导入.sql文件

时间:2014-03-06 07:15:04

标签: sql postgresql pgadmin

我想在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

请帮帮我。

5 个答案:

答案 0 :(得分:17)

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

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

答案 1 :(得分:10)

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

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

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

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

答案 2 :(得分:1)

在Windows上,我只能从常规CMD控制台窗口运行psql命令,而不是像我安装git时那样从bash窗口运行。您应该在某个地方安装psql.exe,例如C:\ Program Files \ PostgreSQL \ 9.4 \ bin。

答案 3 :(得分:0)

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

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

如果在运行命令后遇到奇怪的索引问题,请参阅this tutorial有关如何修复它的信息。

答案 4 :(得分:0)

如果您在Windows上,请使用pgsql Shell 输入您的服务器和数据库以及用户信息,然后运行而无需引号

\i D:/folder/your_table.sql