Tôi đã tìm thấy câu trả lời hay ở đây: Theo dõi tiến trình của một tuyên bố cập nhật
Mẹo là trước tiên hãy tạo một chuỗi (đặt tên tùy thích):
CREATE SEQUENCE query_progress START 1;
Sau đó, thêm vào phần WHERE của truy vấn của bạn:
AND NEXTVAL('query_progress')!=0
Bây giờ bạn có thể truy vấn tiến trình:
SELECT NEXTVAL('query_progress');
Cuối cùng, đừng quên loại bỏ trình tự:
DROP SEQUENCE query_progress;
Lưu ý rằng điều này rất có thể sẽ làm cho truy vấn của bạn chạy chậm hơn và mỗi khi bạn kiểm tra tiến trình, nó sẽ tăng thêm giá trị. Liên kết trên đề xuất tạo một chuỗi tạm thời nhưng PostgreSQL dường như không hiển thị chúng trong các phiên.