运行postgresql脚本时出现奇怪的从左到右箭头

运行postgresql脚本时出现奇怪的从左到右箭头,postgresql,command-line,psql,Postgresql,Command Line,Psql,我想运行大约5000行postgresql脚本。出于专业原因,我不能分享剧本的全部内容。 但我有点像这样: SET statement_timeout = 0; SET lock_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = on; SET check_function_bodies = false; SET client_min_messages = warning; SET sear

我想运行大约5000行postgresql脚本。出于专业原因,我不能分享剧本的全部内容。 但我有点像这样:

SET statement_timeout = 0;
SET lock_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
SET client_min_messages = warning;

SET search_path = public, pg_catalog;
...
ALTER TABLE ONLY public.client DROP CONSTRAINT client_pkey;
...
ALTER TABLE public.client ALTER COLUMN id DROP DEFAULT;
...
DROP SEQUENCE public.client_id_seq;
DROP TABLE public.client;
...
--
-- Name: client; Type: TABLE; Schema: public; Owner: myDB; Tablespace: 
--

CREATE TABLE client (
    id integer NOT NULL,
    libelle character varying(255)
);


ALTER TABLE client OWNER TO myDB;

--
-- Name: client_id_seq; Type: SEQUENCE; Schema: public; Owner: myDB
--

CREATE SEQUENCE client_id_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


ALTER TABLE client_id_seq OWNER TO myDB;

--
-- Name: client_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: myDB
--
--
-- Data for Name: client; Type: TABLE DATA; Schema: public; Owner: myDB
--

COPY client (id, libelle) FROM stdin;
0
1   XX
247 YY
248 ZZ
\.
copy
语句中插入了很多内容。但是每次我运行DB时,我都会得到这样的东西,有很多从左到右的箭头:

我不知道如何继续。当我签出数据库时,整个脚本并没有完全运行。仅创建表。 拜托,有什么问题吗


PS:当您从STDIN复制时,我使用Linux Debian

,您会看到这样一条消息:

t=# copy s151 from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
这里的关键是

以一个反斜杠和一个句点结束

因此,您的多个
>
只意味着从stdin向COPY添加了一个新行。卖掉这些绝对没问题。在你把
\.
放到每一行之前,你会在每一行看到这些内容

现在关于这个问题。您的脚本有错误(我复制/粘贴了其中的一部分):

添加缺少的列(并将分隔符更改为空格以避免从网页复制时出现制表问题)后:


当您从STDIN复制时,它会工作

您会看到以下消息:

t=# copy s151 from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
这里的关键是

以一个反斜杠和一个句点结束

因此,您的多个
>
只意味着从stdin向COPY添加了一个新行。卖掉这些绝对没问题。在你把
\.
放到每一行之前,你会在每一行看到这些内容

现在关于这个问题。您的脚本有错误(我复制/粘贴了其中的一部分):

添加缺少的列(并将分隔符更改为空格以避免从网页复制时出现制表问题)后:


它可以工作

我认为缺少的列值只是复制和粘贴的结果。如果原始文件在
0
后面包含一个制表符,则一切正常(该值为
null
,对于
libelle
)是的,它会。但是所有行都将被复制-OP的结尾是
\。
。。。我试图猜测没有复制数据的原因当然-很乐意帮忙我认为缺少的列值只是复制粘贴的结果。如果原始文件在
0
后面包含一个制表符,则一切正常(该值为
null
,对于
libelle
)是的,它会。但是所有行都将被复制-OP的结尾是
\。
。。。我试着猜测没有复制数据的原因当然-很乐意帮忙
t=# \! cat so.sql
COPY client (id, libelle) FROM stdin delimiter ' ';
0 ZZ
1 XX
247 YY
248 ZZ
\.
t=# \i so.sql
COPY 4