I am trying to load data with the copy function,
*ham-existing=# \copy invst from '/home/fmwdba/transcoma' using
delimiters ','
\.
ERROR: value too long for type character(7)
CONTEXT: COPY invst, line 1, column stknum: "'0020338'"
ham-existing=#*
however, if I use the insert command and give the field names the data
will load. Can anyone see what I am doing wrong? I need to use the
copy function as I have a lot of data to laod.
This is how I created the table
CREATE TABLE Invst (
STKNUM CHAR(7) NOT NULL,
RATIO NUMERIC(4,1),
PUBLET_ CHAR(1),
SORTNUM CHAR(1),
BINNUM CHAR(4),
BIN2 CHAR(4),
BIN3 CHAR(4),
BIN4 CHAR(4),
PUBSTNUM CHAR(10),
TITLE CHAR(40),
BUYPRICE NUMERIC(6),
SELLPRICE NUMERIC(6),
INVENTORY1 NUMERIC(4),
INVENTORY2 NUMERIC(4),
CURINV NUMERIC(4),
COPYPUR NUMERIC(4),
RESTOCKBIN NUMERIC(4),
H8DATE DATE,
BUYER CHAR(2),
PRICED CHAR(2),
PULP NUMERIC(4),
PUBPRICE NUMERIC(7,2),
HALFCOM NUMERIC(7,2),
KEEP2 CHAR(1),
NEWDATE2 DATE,
CONDITION CHAR(1),
FEATURE CHAR(2),
RESTOCKEDX NUMERIC(2),
WEIGHT NUMERIC(5,2),
MUSICCDSLS NUMERIC(4),
AZTOOHIGH CHAR(1),
AZMAXPRICE NUMERIC(7,2),
OVERSIZE CHAR(1),
KEEPOFFWEB CHAR(1),
NEWSTKNUM CHAR(7),
ROLL_NUM NUMERIC(1),
DATEONAZ DATE,
AZCURINV NUMERIC(3)
);
CREATE UNIQUE INDEX XPKInvst ON Invst
(
STKNUM
);
ALTER TABLE Invst
ADD PRIMARY KEY (STKNUM);