使用pgAdmin导出和导入表转储(.sql)

134

我在我的电脑上安装了pgAdmin版本1.16.1

为了导出表格,我这样做:

右键单击表格=>选择 备份 =>将格式设置为普通 =>将文件保存为some_name.sql

然后我删除了这个表。

现在,我需要从some_name.sql导入我刚刚创建的备份到数据库中。

我应该怎么做呢?我找不到任何关于如何使用pgAdmin导入表格的.sql备份的清晰说明。

我将非常感谢您提供一些指导。


2
如果有人想要整个数据库,可以查看使用pgAdmin III导出和导入PostgresSQL - Somnath Muluk
6个回答

187
  1. 在pgAdmin中,在对象树中选择所需的目标模式(databases -> your_db_name -> schemas -> your_target_schema)
  2. 点击顶部菜单Plugins/PSQL Console
  3. 输入\i /path/to/yourfile.sql
  4. 按回车键

9
谢谢,但是......相反,您可以在查询窗口中打开SQL文件并简单运行它。当我尝试这样做时,我收到错误消息,指出在写有“COPY my_table (id, name) FROM stdin; ......”的那一行存在语法错误。 - Oto Shavadze
哦,对不起,我没有意识到 dump 将使用 COPY 而不是插入。然而,第一个选项应该可以工作。 - Tomas Greif
16
Windows示例:如果你有一个位于 C:\database.backup 的 PostgreSQL 备份文件,那么你可以使用 \i /database.backup 开始导入。 - Abdull
2
这并没有真正回答问题。什么是目标方案?对象树在哪里?如果你还没有它们怎么办? - szeitlin
3
所有关于“我找不到如何使用pgAdmin将表的.sql转储导入数据库”的问题都会被重定向到这里,但这并没有真正回答那个问题。 - szeitlin
显示剩余7条评论

29

另一种方法是,在Windows上可以轻松使用CMD完成这个操作。

输入您安装的版本(我的是11)。

cd C:\Program Files\PostgreSQL\11\bin\

并运行简单查询

psql -U <postgre_username> -d <db_name> < <C:\path\data_dump.sql>
输入密码,然后等待最终控制台消息。
注意:请确保除了db_name和file path之间的<外,从上面的查询中删除<>。
示例:psql -U postgres -d dumb_db < D:\db_dump.sql

这很重要。 - Vinigas
1
只需使用相反的箭头,... db_name < ... path 导入,... db_name > path... 导出。 - EgoistDeveloper

27
使用PgAdmin: 步骤1: 选择模式并右键单击,然后转到“备份..”输入图像描述 步骤2: 输入文件名并单击备份按钮。 输入图像描述 步骤3: 在详细信息消息中复制备份文件路径。 输入图像描述 步骤4: 转到其他模式并右键单击,然后转到“还原”。(参见步骤1)
步骤5: 在弹出菜单中将上面的文件路径粘贴到文件名类别中,然后单击还原按钮。 输入图像描述

这对我有用。但是在单击“...”并将格式更改为“sql”后,我从文件选择器中选择了文件。但它有效。在我看来,这是最简单的解决方案。 - Marcell

9

按照以下步骤在pgadmin中操作:

主机-数据库-模式-公共(右键单击)CREATE脚本-打开文件-(选择xxx.sql),然后点击执行查询选项将结果写入文件-导出数据文件-确定-然后点击保存。就这样,我成功了。

注意:在版本命令脚本输入图像描述 de sql over pgadmin 中的错误可以进行搜索,例如: http://www.forosdelweb.com/f21/campo-tipo-datetime-postgresql-245389/

enter image description here


2
不确定为什么这个被踩了。英语可能不太好,但是可以理解并且有效。 - Tim Duncklee

9
在 "工具" 列表中点击 "查询工具" 按钮。
然后在工具栏中,点击 "打开文件" 图片按钮。

2
您还需要点击[执行]。 - CNSKnight
5
这使我得到了“文件类型不受支持”的错误。 - Marcell

2
如果您已经安装了Git bash,您可以执行以下操作:
/c/Program\ Files\ \(x86\)/PostgreSQL/9.3/bin/psql -U <pg_role_name> -d <pg_database_name> < <path_to_your>.sql

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