首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL:将备份文件从复制格式转换为插入格式

问SQL:将备份文件从复制格式转换为插入格式
EN

Stack Overflow用户
提问于 2010-05-13 21:20:57
回答 4查看 10K关注 0票数 4

我使用Export > Copy (而不是Copy )用PHPPgadmin制作了一个PostgreSQL备份,而这正是我真正需要的。

文件包含如下条目:

代码语言:javascript
复制
COPY tablename(id, field) FROM stdin;
...

如何将此文件转换为SQL格式?

代码语言:javascript
复制
INSERT INTO tablename...

我想用Pgadmin通过execute SQL命令导入这个文件。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-14 00:31:23

您不能将其转换为SQL格式(至少不能直接转换)。

如果不能重新导出,那么更简单的选择是绕过phpPgadmin,登录到您的服务器并运行如下所示的命令

代码语言:javascript
复制
cat [yourdump.sql]  | psql [your connections args]

如果你不能通过shell访问你的服务器,你可以尝试上传文件(通过SFTP或FTP),并通过带有"COPY <table> FROM <path_to_file_on_server>"的phpPgAdmin加载它。但是如果有很多表,你必须(我相信)拆分文件,一次做一个。

http://phppgadmin.sourceforge.net/?page=faq

票数 3
EN

Stack Overflow用户

发布于 2013-09-20 15:25:25

我不知道有什么方法或工具可以将"COPY“语句转换为"INSERT”语句。

但是使用"pg_dump“命令行工具,您可以使用"INSERT”而不是"COPY“语句创建DB转储文件。只需使用“--column-insert”参数(也可以使用“--insert”)。

编辑:

您可以做的是:

  1. 在本地计算机上创建新的postgres数据库
  2. 将DB转储文件导入到新创建的数据库中

psql -U

  • ,并从数据库中创建一个带有“--

-

  • ”postgres转储

pg_dump -U --插入列> dumpWithInserts.sql

票数 6
EN

Stack Overflow用户

发布于 2015-05-27 00:12:35

您可以尝试使用从PostgreSQL 9.3开始提供的COPY FROM PROGRAM语法

例如:COPY tbl_customers (id, address_id, insurance_id, fullname, secret_code ...) FROM PROGRAM 'echo "1 2 \N Ivan Ivanov 42 ..."'

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2827072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档