Estoy creando una aplicación nestjs que usa postgres. Tengo algunos datos grandes (de 100 a 10 millones de entradas y más) que recibo a través de una API. Necesito escribir estos datos en una base de datos postgres.
Investigué un poco y descubrí que debería usar COPY para hacer una inserción masiva.
Probé COPY en modo consola usando psql y funciona. Pero no puedo encontrar ningún ejemplo de cómo hacerlo a través del código js.
Esto es lo que he probado:
const queryRunner = this.connection.createQueryRunner(); await queryRunner.connect(); await queryRunner.startTransaction(); //throws error 'syntax error at or near "123"' const query = `COPY ${table}(key) FROM stdin \n123\t\n321\t\n147\t\n\\.\n`; // using INSERT works as expected //const query = `INSERT INTO ${table}(key) VALUES ('123'), ('321'), ('147');`; await queryRunner.query(query); await queryRunner.commitTransaction(); await queryRunner.release();El código anterior arroja este error:
ERROR: syntax error at or near "123" at character 33
¿Alguien puede explicar/señalar la dirección de cómo resolver esto? Gracias