Ejecute múltiples funciones juntas sin perder rendimiento

Tengo este proceso que tiene que hacer una serie de consultas, usando pl / pgsql:

--process:
SELECT function1();
SELECT function2();
SELECT function3();
SELECT function4();

Para poder ejecutar todo en una llamada, creé una función de proceso como tal:

CREATE OR REPLACE FUNCTION process()
  RETURNS text AS
$BODY$
BEGIN
    PERFORM function1();
    PERFORM function2();
    PERFORM function3();
    PERFORM function4();
    RETURN 'process ended';
END;
$BODY$
  LANGUAGE plpgsql

El problema es que cuando sumo el tiempo que toma cada función por sí solo, el total es de 200 segundos, mientras que el tiempo que la funciónprocess() toma más de una hora!

Tal vez sea un problema de memoria, pero no sé en qué configuraciónpostgresql.conf Debo cambiar.

La base de datos se ejecuta en PostgreSQL 9.4, en un Debian 8.

Respuestas a la pregunta(2)

Su respuesta a la pregunta