Inserte sentencias SQL a través de la línea de comandos sin volver a abrir la conexión a la base de datos remota

Tengo una gran cantidad de archivos de datos para procesar y almacenar en la base de datos remota. Cada línea de un archivo de datos representa una fila en la base de datos, pero debe formatearse antes de insertarse en la base de datos.

Mi primera solución fue procesar archivos de datos escribiendo scripts de bash y producir archivos de datos SQL, y luego importar los archivos SQL de volcado a la base de datos. Esta solución parece ser demasiado lenta y, como puede ver, implica un paso adicional para crear un archivo SQL intermedio.

Mi segunda solución fue escribir scripts de bash que, mientras procesa cada línea del archivo de datos, crea yINSERT INTO ... instrucción y envía la instrucción SQL a la base de datos remota:

echo sql_statement | psql -h remote_server -U username -d database

es decir. no crea un archivo SQL. Sin embargo, esta solución tiene un problema importante en el que estoy buscando un consejo:
Cada vez tengo que volver a conectarme a la base de datos remota para insertar una sola fila.

¿Hay alguna forma de conectarse a la base de datos remota, permanecer conectado y luego "canalizar" o "enviar" la instrucción insert-SQL sin crear un archivo SQL enorme?

Respuestas a la pregunta(2)

Su respuesta a la pregunta