在pgadmin iii中导入.sql文件

在pgadmin iii中导入.sql文件,sql,postgresql,pgadmin,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 ne

我想在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文件。它只支持通过(pgAdmin在后台使用的)创建的自定义导入

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

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

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

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

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


如果在运行命令后出现奇怪的索引问题,请参阅如何修复它。

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

如果您在windows上,请使用pgsql Shell 输入服务器、数据库和用户信息,然后不加任何引号地运行

\i D:/folder/your_table.sql

您正在pgAdmin中使用命令,但该命令无效。检查pgAdmin。感谢您的回复,但它还没有工作。它生成以下错误:错误:在“psql”第1行或其附近出现语法错误:psql-U postgres-h localhost-d my_database-f'C:/Users/um…^********错误*******错误:在“psql”SQL状态或其附近出现语法错误:42601字符:1@user1954209我认为这是引号的问题,我只是将简单引号
替换为双引号
感谢Houari的友好响应,也许我在执行查询之前遗漏了一些步骤,因为仍然会出现相同的错误:(@Houari已经告诉过你了,我只是扩展了他的答案,但我可以更新我的答案