使用pgAdmin导出PostgreSQL表格数据

163

我正在使用版本为1.14.3的pgAdmin。PostgreSQL数据库版本是9.1。

我已经获取了所有用于创建表的数据库脚本,但无法导出表中的所有数据。找不到以数据库脚本形式导出数据的选项。


1
如果有人想要整个数据库,可以查看使用pgAdmin III导出和导入PostgresSQL - Somnath Muluk
您可以在在线演示中尝试:http://choose.tools/tool?id=pgAdmin - Michael Podgortsev
3个回答

225
  1. 右键点击表格,选择“备份”选项。
  2. 在文件选项中,设置文件路径/文件名,并选择“PLAIN”格式。
  3. 忽略转储选项#1选项卡。
  4. 在转储选项#2选项卡中,勾选“使用INSERT命令”。
  5. 在转储选项#2选项卡中,如果想在插入语句中包含列名,请勾选“使用列插入”。
  6. 单击“备份”按钮。

编辑:如果您正在远程服务器上使用pgAdmin:一旦UI宣布备份成功,您可能需要下载数据。为此,请按照以下步骤操作:

  1. 单击“工具”(在菜单中)。
  2. 选择“存储管理器”。
  3. 选择刚创建的文件。
  4. 单击小的“下载文件”按钮。

13
这份备份去了哪里? - StealthTrails
3
如果你的数据库是本地的,也许这个方法可行。但在我的情况下,有一条消息宣布了胜利,但文件在服务器上消失了。我想将它下载到我的电脑上。 :/ - fresko
9
pgAdmin是我使用过的最荒谬的IT工具。在pgAdmin中没有什么像用户体验这样的东西。 - cadavre
3
我找不到生成的文件,所以最终使用了pgAdmin使用的命令(在运行备份后,在pgAdmin中单击“更多详细信息”),并在服务器上打开一个shell,运行相同的命令,然后我就可以复制文件了。 - ccallendar
对于文件名,请提供完整路径(例如:/home/xxx/yyy/backup.sql)。如果出现找不到该文件的错误消息,则使用默认路径尝试保存。 - Janaka Peiris
显示剩余3条评论

166

只需右键点击表格,选择“备份”即可。弹出窗口会显示各种选项,包括“格式”,选择“纯文本”,就能得到纯SQL。

pgAdmin只是使用pg_dump来创建转储,也可以生成纯SQL。

它使用类似于以下的命令:

pg_dump --user user --password --format=plain --table=tablename --inserts --attribute-inserts等等。


11
生成的转储文件包含以COPY命令开头的表数据脚本,而不是INSERT命令。是否有办法生成带有INSERT命令的脚本? - Muhammad Imran Tariq
8
因此,您必须创建普通的SQL。当使用转储选项INSERT时,会得到普通的INSERT查询。 - Frank Heikens
1
@Pixel Elephant:如果性能很重要,你应该使用COPY。它会更快。 - Frank Heikens
24
在 pgAdmin III 1.16.1 中,“使用插入命令”在Dump选项#2下。 - jpmc26
2
在 pgAdmin III 1.18.1 中,选择文件选项下的纯文本格式,然后在转储选项 #2 下勾选“使用插入命令”。 - bhdrkn
显示剩余5条评论

24
在pgAdmin4中,右键点击表格,选择备份,如下所示。

enter image description here

在备份对话框中,进入转储选项选项卡,在其中有一个查询部分,您可以选择使用插入命令,这将包括所有插入查询在备份中。

enter image description here


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