使用 dump 文件时,PostgreSQL 出现语法错误。

3
我是一名新手PostgreSQL,正在使用pgAdmin 4。我有一个转储文件,需要将其中的数据加载到数据库中。我已经创建了一个新的数据库,并尝试从转储文件中加载数据到其中。我所做的是,在pgAdmin上打开转储文件,其中包含所有代码,只需执行即可将数据加载到数据库中。但是当我执行文件时,在第1行显示语法错误。下面是该部分代码的行。
COPY public.deals (id, startup_id, investor_group_id) FROM stdin;

1   51  2

2   33  7

3   3   5

4   17  9

5   27  10

6   41  12

7   45  3

8   19  13

9   2   11

10  11  10

\.

我遇到了以下错误 -
ERROR:  syntax error at or near "1"

LINE 89: 1 51 2

        ^

我不知道该怎么办。如果有人能帮助我,那就太好了。


你的“copy”语句中是否直接将这个1 51 2数据写入同一个文件? 标准输入必须被重定向或从另一个文件中读取。 - Joe Love
是的,所有内容都在同一个文件中。首先,它创建了一个名为public.deals的表,然后将所有数据从stdin复制到该public.deals中。但是它显示在第1行52列2处有语法错误。 - user401398
你不能在pgAdmin中这样做,无论如何都不行。 - Joe Love
你为什么不使用一个单独的数据文件呢?你可以进行 SQL 转储,将所有内容放入一个文件中作为 SQL 命令,但是你必须从一开始就以这种方式进行转储。如果你需要帮助,请告诉我。 - Joe Love
1个回答

3

您无法使用pgAdmin来还原此类转储文件。

请使用psql

psql -U postgres -d mydb -f dumpfile

工作得非常好。非常感谢。 :) - user401398

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