来自postgres

时间:2015-08-18 08:40:35

标签: sql postgresql pgadmin

我创建了一个表的备份,我打算出于实验原因进行更改。我通过右键单击相应的表并使用pgadmin创建备份,然后选择备份。

我希望结果是一个我可以轻松重新导入的sql文件。但是,我得到的是一个非奇怪的内容的非sql文件。

...

COPY "MyTable" ("col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8", "col9", "col10", "col11", "col12", "col13", "col14", "col15", gid) FROM stdin;
                0001-01-01 00:00:00 0           0                   010300000001000000050000006CE7FB29252C1641EC51B8F69B035641FF7C3FB5242C16417F9543139C0356416807EB9F282C16411B3048239C035641C871A714292C164185ECBC069C0356416CE7FB29252C1641EC51B8F69B035641  1
                0001-01-01 00:00:00 0           0                   010300000001000000050000009279C8741D2C1641E55949CD9B035641116745B41D2C16419E78CEB09B03564137DD2486192C16418FED7CA79B0356419EEFA746192C1641D9CEF7C39B0356419279C8741D2C1641E55949CD9B035641  2
                0001-01-01 00:00:00 0           0                   01030000000100000005000000C8EBA48EF92B1641B0E8D6349B0356413F25E724F92B1641BC5E9A549B035641C320B0F2FC2B1641643BDF5F9B035641C520B072FD2B164183C0CA419B035641C8EBA48EF92B1641B0E8D6349B035641  3
                0001-01-01 00:00:00 0           0                   01030000000100000005000000FC34EE9D092C164167D7BDCA9A03564120384BF9092C1641FC4465AB9A0356413EE3A51B062C16419CC420A09A03564144E048C0052C1641045779BF9A035641FC34EE9D092C164167D7BDCA9A035641  4

...

我可以很容易地识别出每一行代表一个数据记录,每一列都由一个标签分隔,两个标签之间的每个空内容意味着一个" NULL"值,但我是怎么意思重新导入这个而不必手动重组整个文件?

这是什么" COPY"函数意味着,为什么备份文件不是简单地创建"插入"脚本?

1 个答案:

答案 0 :(得分:3)

是Postgres的有效SQL文件(有关详细信息,请参阅the manual)。它可以使用psql命令行客户端运行。由于我不使用pgAdmin,我无法判断是否可能不支持copy ... from stdin

如果您希望在生成的SQL脚本中使用常规insert语句,则需要使用参数pg_dump运行--inserts。同样,see the manual了解详情

相关问题