¿Cómo INSERTAR EN la tabla que tiene múltiples columnas de la consulta dinámica?

Similar aesta pregunta anterior para un mapeo uno a uno necesito una solución para múltiples columnas en origen y destino.
Aún trabajando con Postgres 9.4.4, la consulta y el esquema se modifican y son los siguientes:

Digamos que tengo estas dos tablasTable1 yTable2:

Create table Table1(col1 int, col2 varchar(100), col3 varchar(100));
Create table Table2(col1 int, col2 varchar(100), col3 varchar(100));

Hay otra mesaTable3 almacenar una fórmula para migrar datos desdeTable1 aTable2:

CREATE TABLE Table3 (     
  tbl_src character varying(200),
  col_src character varying(500),
  tbl_des character varying(200),
  col_des character varying(100),
  condition character varying(500)
);

Insert into Table3(tbl_src, col_src, tbl_des, col_des, condition)
VALUES ('Table1','col1','Table2','col1', 'WHERE col1>=1')
     , ('Table1','col2','Table2','col2', NULL)
     , ('Table1','col3','Table2','col3', NULL);

¿Cómo compilar esta fórmula en una consulta dinámica e insertarla en la tabla de destino?

Respuestas a la pregunta(1)

Su respuesta a la pregunta