I have a flat text file that is pipe delimited that I am trying to load in
a postgresql table. The data is in the following format:
COLUMN_NAME;value|COLUMN_NAME;value| ... etc
I read each line of the file into an array (in perl) and then load each
member of the array into a hash. The reason for all of this is that I
need to convert some of the values and a hash seems to be the easiest way
to manage the data. After all changes are commplete I use the hash to
feed my DBI insert statement. When I do I get the following error:
Relation 'TABLE_NAME' does not have attribute 'COLUMN_NAME'
I modified my script to print out the SQL that it is trying to execute and
it is in what I believe to be the correct format. The format is as
follows:
insert into TABLE_NAME (COLUMN_NAME, COLUMN_NAME, COLUMN_NAME) VALUES
('value', 'value', 'value')
It looks to me like it is saying that the column specified by
COLUMN_NAME does not exsist but when I do a \dt TABLE_NAME it is
there. Because I loaded the data into a hash the COLUMN_NAME's are not in
the same order as they appear in the database but from reading the docs it
looks to me that all long as the COLUMN_NAME's I put in my insert
statement match up with the values I should be OK (this is how it worked
when I was using mysql). I thought that maybe I did not have write perms
on the table all seems to be fine there also. I also tried cutting and
pasting the SQL generated by my script into a psql window and got the same
error.
Thanks for any insight, I am at a loss
jth