📄 copy2.out
字号:
CREATE TABLE x ( a serial, b int, c text not null default 'stuff', d text, e text) WITH OIDS;NOTICE: CREATE TABLE will create implicit sequence "x_a_seq" for serial column "x.a"CREATE FUNCTION fn_x_before () RETURNS TRIGGER AS ' BEGIN NEW.e := ''before trigger fired''::text; return NEW; END;' language 'plpgsql';CREATE FUNCTION fn_x_after () RETURNS TRIGGER AS ' BEGIN UPDATE x set e=''after trigger fired'' where c=''stuff''; return NULL; END;' language 'plpgsql';CREATE TRIGGER trg_x_after AFTER INSERT ON xFOR EACH ROW EXECUTE PROCEDURE fn_x_after();CREATE TRIGGER trg_x_before BEFORE INSERT ON xFOR EACH ROW EXECUTE PROCEDURE fn_x_before();COPY x (a, b, c, d, e) from stdin;COPY x (b, d) from stdin;COPY x (b, d) from stdin;COPY x (a, b, c, d, e) from stdin;-- non-existent column in column list: should failCOPY x (xyz) from stdin;ERROR: column "xyz" of relation "x" does not exist-- too many columns in column list: should failCOPY x (a, b, c, d, e, d, c) from stdin;ERROR: column "d" specified more than once-- missing data: should failCOPY x from stdin;ERROR: invalid input syntax for integer: ""CONTEXT: COPY x, line 1, column a: ""COPY x from stdin;ERROR: missing data for column "e"CONTEXT: COPY x, line 1: "2000 230 23 23"COPY x from stdin;ERROR: missing data for column "e"CONTEXT: COPY x, line 1: "2001 231 \N \N"-- extra data: should failCOPY x from stdin;ERROR: extra data after last expected columnCONTEXT: COPY x, line 1: "2002 232 40 50 60 70 80"-- various COPY options: delimiters, oids, NULL stringCOPY x (b, c, d, e) from stdin with oids delimiter ',' null 'x';COPY x from stdin WITH DELIMITER AS ';' NULL AS '';COPY x from stdin WITH DELIMITER AS ':' NULL AS E'\\X';-- check results of copy inSELECT * FROM x; a | b | c | d | e -------+----+------------+--------+---------------------- 9999 | | \N | NN | before trigger fired 10000 | 21 | 31 | 41 | before trigger fired 10001 | 22 | 32 | 42 | before trigger fired 10002 | 23 | 33 | 43 | before trigger fired 10003 | 24 | 34 | 44 | before trigger fired 10004 | 25 | 35 | 45 | before trigger fired 10005 | 26 | 36 | 46 | before trigger fired 6 | | 45 | 80 | before trigger fired 7 | | x | \x | before trigger fired 8 | | , | \, | before trigger fired 3000 | | c | | before trigger fired 4000 | | C | | before trigger fired 4001 | 1 | empty | | before trigger fired 4002 | 2 | null | | before trigger fired 4003 | 3 | Backslash | \ | before trigger fired 4004 | 4 | BackslashX | \X | before trigger fired 4005 | 5 | N | N | before trigger fired 4006 | 6 | BackslashN | \N | before trigger fired 4007 | 7 | XX | XX | before trigger fired 4008 | 8 | Delimiter | : | before trigger fired 1 | 1 | stuff | test_1 | after trigger fired 2 | 2 | stuff | test_2 | after trigger fired 3 | 3 | stuff | test_3 | after trigger fired 4 | 4 | stuff | test_4 | after trigger fired 5 | 5 | stuff | test_5 | after trigger fired(25 rows)-- COPY w/ oids on a table w/o oids should failCREATE TABLE no_oids ( a int, b int) WITHOUT OIDS;INSERT INTO no_oids (a, b) VALUES (5, 10);INSERT INTO no_oids (a, b) VALUES (20, 30);-- should failCOPY no_oids FROM stdin WITH OIDS;ERROR: table "no_oids" does not have OIDsCOPY no_oids TO stdout WITH OIDS;ERROR: table "no_oids" does not have OIDs-- check copy outCOPY x TO stdout;9999 \N \\N NN before trigger fired10000 21 31 41 before trigger fired10001 22 32 42 before trigger fired10002 23 33 43 before trigger fired10003 24 34 44 before trigger fired10004 25 35 45 before trigger fired10005 26 36 46 before trigger fired6 \N 45 80 before trigger fired7 \N x \\x before trigger fired8 \N , \\, before trigger fired3000 \N c \N before trigger fired4000 \N C \N before trigger fired4001 1 empty before trigger fired4002 2 null \N before trigger fired4003 3 Backslash \\ before trigger fired4004 4 BackslashX \\X before trigger fired4005 5 N N before trigger fired4006 6 BackslashN \\N before trigger fired4007 7 XX XX before trigger fired4008 8 Delimiter : before trigger fired1 1 stuff test_1 after trigger fired2 2 stuff test_2 after trigger fired3 3 stuff test_3 after trigger fired4 4 stuff test_4 after trigger fired5 5 stuff test_5 after trigger firedCOPY x (c, e) TO stdout;\\N before trigger fired31 before trigger fired32 before trigger fired33 before trigger fired34 before trigger fired35 before trigger fired36 before trigger fired45 before trigger firedx before trigger fired, before trigger firedc before trigger firedC before trigger firedempty before trigger firednull before trigger firedBackslash before trigger firedBackslashX before trigger firedN before trigger firedBackslashN before trigger firedXX before trigger firedDelimiter before trigger firedstuff after trigger firedstuff after trigger firedstuff after trigger firedstuff after trigger firedstuff after trigger firedCOPY x (b, e) TO stdout WITH NULL 'I''m null';I'm null before trigger fired21 before trigger fired22 before trigger fired23 before trigger fired24 before trigger fired25 before trigger fired26 before trigger firedI'm null before trigger firedI'm null before trigger firedI'm null before trigger firedI'm null before trigger firedI'm null before trigger fired1 before trigger fired2 before trigger fired3 before trigger fired4 before trigger fired5 before trigger fired6 before trigger fired7 before trigger fired8 before trigger fired1 after trigger fired2 after trigger fired3 after trigger fired4 after trigger fired5 after trigger firedCREATE TABLE y ( col1 text, col2 text);INSERT INTO y VALUES ('Jackson, Sam', E'\\h');INSERT INTO y VALUES ('It is "perfect".',E'\t');INSERT INTO y VALUES ('', NULL);COPY y TO stdout WITH CSV;"Jackson, Sam",\h"It is ""perfect"".", "",COPY y TO stdout WITH CSV QUOTE '''' DELIMITER '|';Jackson, Sam|\hIt is "perfect".| ''|COPY y TO stdout WITH CSV FORCE QUOTE col2 ESCAPE E'\\';"Jackson, Sam","\\h""It is \"perfect\"."," """,--test that we read consecutive LFs properlyCREATE TEMP TABLE testnl (a int, b text, c int);COPY testnl FROM stdin CSV;-- test end of copy markerCREATE TEMP TABLE testeoc (a text);COPY testeoc FROM stdin CSV;COPY testeoc TO stdout CSV;a\.\.bc\.d"\."DROP TABLE x, y;DROP FUNCTION fn_x_before();DROP FUNCTION fn_x_after();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -