> -----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"