Я хочу контролировать свои запросы, которые я отправляю через dblink dblink_send_query
, и поэтому мне нужен его PID, чтобы я мог искать его в таблицах pg. Но до сих пор мне удавалось получить PID только после завершения dblink путем возврата значения pg_backend_pid()
или делать это довольно неуклюже, получая его из pg_stat_activity путем поиска по строке запроса, которая не учитывает несколько одинаковых запросов или действительно не идеален для запросов, содержащих длинный текст.
Итак, как я могу получить для этого PID до его завершения?
select dblink_send_query('cn1', 'select pg_sleep(60)');
select dblink_send_query('cn2', 'select pg_sleep(60)');
select dblink_send_query('cn3', 'select pg_sleep(60)');
PostgreSQL 11.6 на x86_64-pc-linux-gnu, скомпилирован gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-разрядная версия