Quiero copiar algunos datos de una tabla a otra, pero no quiero copiar todas las filas, solo algunas (como solo las primeras 100).
No encontré una opción en el comando COPY para esto. Entonces eso solo es posible o no? Gracias de antemano.
No te fijaste mucho.
https://www.postgresql.org/docs/current/static/sql-copy.html
Para copiar en un archivo solo los países cuyos nombres comienzan con 'A':
COPIAR (SELECCIONE * DESDE país DONDE nombre_país COMO 'A%') A '/usr1/proj/bray/sql/a_list_countries.copy';
Así que le gustaría COPY (SELECT ... LIMIT 100) .
Supongo que desea copiar entre bases de datos o mediante un archivo intermedio o algo así; de lo contrario, solo desea usar INSERT ... SELECT como se muestra en otra respuesta.
Puedes usar
INSERT INTO table2(col_list) SELECT col_list FROM table1 WHERE condtitions ORDER BY order_col_list LIMIT X;