From: "Gary ." on
Is it possible to skip column(s) in the target table when using
pg_copy_from? When I tried to bulk insert some data from a csv
file by way of pg_copy_from I received the error "Warning:
pg_copy_from() [function.pg-copy-from]: Copy command failed:
ERROR: permission denied for relation xyz", pretty much as I
expected since things look like:

CREATE SEQUENCE xyz;
CREATE TABLE some_table (
id int NOT NULL PRIMARY KEY DEFAULT nextval('xyz')
....
(i.e. the first column is automatically populated by the db itself).

The csv file contains only data for the second and subsequent
columns, so anyway needs to "hop right" one column.
From: Chris on
Gary . wrote:
> Is it possible to skip column(s) in the target table when using
> pg_copy_from? When I tried to bulk insert some data from a csv
> file by way of pg_copy_from I received the error "Warning:
> pg_copy_from() [function.pg-copy-from]: Copy command failed:
> ERROR: permission denied for relation xyz", pretty much as I
> expected since things look like:
>
> CREATE SEQUENCE xyz;
> CREATE TABLE some_table (
> id int NOT NULL PRIMARY KEY DEFAULT nextval('xyz')
> ...
> (i.e. the first column is automatically populated by the db itself).

It seems not from looking at the php manual.

You could use http://www.php.net/manual/en/function.pg-put-line.php instead.

--
Postgresql & php tutorials
http://www.designmagick.com/

From: "Gary ." on
On 4/13/10, Chris wrote:
> Gary . wrote:
>> Is it possible to skip column(s) in the target table when using
>> pg_copy_from?
....
> It seems not from looking at the php manual.
>
> You could use http://www.php.net/manual/en/function.pg-put-line.php instead.

Yeah. I was hoping to use pg_copy_from to avoid looping over the array
in php, but I can do that. Thanks.