> -----Mensaje original-----
> De: Conrado Blasetti
>
> Gente, buenos días.
>
> Consulta, tengo un archivo plano para subir a una tabla con
> COPY, el plano tiene N columnas pero la tabla como primer
> campo tiene el ID propio de tabla del tipo serial, ej:
>
>
> Tabla
>
> Id serial,
> Campo1,
> Campo2,
> Campo3,
> CampoN
>
> Plano
>
> Campo1,
> Campo2,
> Campo3,
> CampoN
>
> La consulta es, es posible decirle al COPY de alguna manera
> que el primer campo no viene informado en el plano y tiene
> que ir a buscar la sequence?
>
> Si no se puede, no problem, creo una tabla X con la misma
> estructura del plano y luego relleno la final por sql.
>
Es posible.
Primero tenés que setear el default de la columna para que tome el valor de
la secuencia:
ALTER TABLE mi_tabla
ALTER COLUMN columna_serial SET DEFAULT nextval('mi_secuencia');
Luego en el COPY directamente no menciones esa columna.
Al hacer la inserción Postgres le asignará el valor de la secuencia.
Saludos,
Fernando.
--
TIP 7: no olvides aumentar la configuración del "free space map"