Es ist tatsächlich nicht möglich, statement_timeout
effektiv zu ändern innerhalb einer Serverfunktion muss dies clientseitig erfolgen, bevor die Abfrage der obersten Ebene gesendet wird.
Siehe eine ähnliche Frage auf DBA.SE:Warum funktioniert „SET LOCAL statement_timeout“ nicht wie erwartet mit PostgreSQL-Funktionen?
oder dieser Thread in der Postgres-Mailingliste, der aus dem Jahr 2007 stammt, aber die negative Antwort gilt immer noch für die aktuelle Version:
statement_timeout funktioniert absichtlich nicht innerhalb von plpgsql?