如何使用插入查询而不是复制查询在 postgresql 中生成数据库的脚本文件?

Posted

技术标签:

【中文标题】如何使用插入查询而不是复制查询在 postgresql 中生成数据库的脚本文件?【英文标题】:How to generate script file of a database in postgresql with insert queries instead of copy query? 【发布时间】:2013-09-27 09:23:52 【问题描述】:

postgresql 中,我进行了备份。该文件没有任何插入查询,而是使用了一些复制语句,例如

COPY user_customers (userid, customerlist) FROM stdin;
anil    customer1:customer2
babu    customer1:customer4
srikakulapu customer1:customer2
\.

但我想要插入该表的语句....

如何获取备份文件中表数据的插入语句?

除此之外我无法执行pg_dump 命令....

我通过选择备份选项右键单击表来生成备份文件..

请帮帮我...否则我必须手动重写所有插入查询以获取文档....

等待您的帮助............

【问题讨论】:

【参考方案1】:

如果你使用 pg_dump ,那么你可以添加 -inserts 参数。

将数据转储为 INSERT 命令(而不是 COPY)。

Source

如果您可以添加尝试使用 pg_dump 的代码,我们也可以解决此问题。

【讨论】:

但是 pg_dump 命令不起作用...我需要创建任何扩展吗?????? @akkusativobjekt【参考方案2】:
1.Open command prompt

2.Make it to point to bin in postgres folder

3.execute following command


pg_dump --column-inserts -U postgres databasename>filename



4. File will be stored in bin folder of postgres

【讨论】:

以上是关于如何使用插入查询而不是复制查询在 postgresql 中生成数据库的脚本文件?的主要内容,如果未能解决你的问题,请参考以下文章

使用 current_date::date 而不是硬编码日期的 Postgres 查询非常慢

Postgres: 如何在psql查询的字符串中插入双引号?

Jooq postgre 在 play2.5 scala 中插入错误

获取 PSQLException:错误:在带有 Postgres 的 spark jdbc 中使用查询而不是表名时在“SELECT”处或附近出现语法错误

如何在查询中使用 $push 将数据插入子文档,而不是检索文档并将其保存回来

Postgres - 冲突 - 如何知道是不是发生了更新而不是插入 [重复]