Por que você não cria uma função postgres em vez de um script?
Aqui estão alguns conselhos que podem ajudá-lo a evitar o erro de memória:
- Você pode usar COM cláusula que faz melhor uso de sua memória.
- Você pode criar algumas tabelas físicas para armazenar as informações de diferentes grupos de tabelas do seu banco de dados. Essas tabelas físicas evitarão o uso de uma grande quantidade de memória. Depois disso, tudo o que você precisa fazer é ingressar apenas nessas mesas físicas. Você pode criar uma função para ele.
- Você pode criar um Data Warehouse desnormalizando as tabelas necessárias.
- Por último, mas não menos importante:verifique se você está usando índices apropriadamente.