Znalazłem dobrą odpowiedź tutaj:Śledzenie postępu wyciągu aktualizacji
Sztuka polega na tym, aby najpierw utworzyć sekwencję (nazwij ją, jak chcesz):
CREATE SEQUENCE query_progress START 1;
Następnie dołącz do części GDZIE zapytania:
AND NEXTVAL('query_progress')!=0
Teraz możesz sprawdzić postęp:
SELECT NEXTVAL('query_progress');
Na koniec nie zapomnij pozbyć się sekwencji:
DROP SEQUENCE query_progress;
Pamiętaj, że najprawdopodobniej spowoduje to, że Twoje zapytanie będzie działać jeszcze wolniej, a za każdym razem, gdy będziesz sprawdzać postęp, dodatkowo zwiększy wartość. Powyższy link sugerował utworzenie tymczasowej sekwencji, ale PostgreSQL nie wydaje się, aby były widoczne między sesjami.