"Garcia, Joshua" <Joshua.Garcia@xerox.com> writes:
> I want to use PQexecParams to insert into a field that takes an array of
> varchars. I tried something like:
> INSERT INTO table1(column1) VALUES ('{$1,$2}')
> But, this just inserts {$1,$2} into the field.
Well, yeah. If it did anything else that'd be a catastrophic bug.
Try something like
INSERT INTO table1(column1) VALUES (ARRAY[$1,$2])
For varchar this will probably work as-is, for other datatypes you might
need to add explicit casts to determine the array element types, eg
INSERT INTO table1(column1) VALUES (ARRAY[$1::integer,$2::integer])
Another possibility is to treat the whole array value as one parameter:
INSERT INTO table1(column1) VALUES ($1)
where the value of $1 is like "{foo,bar}", but this gets into having to
quote the data values correctly to make them valid array elements. The
first way is probably safer.
regards, tom lane