I am in the prototyping phase of a conversion from dbase to postgresql

I am trying to load data with the copy function,-------

*ham-existing=# \copy invst from '/home/fmwdba/transcoma' using
delimiters ','

I then get the following error --------

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 load.

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),
     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);




---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to