PG-147 Stored Procedure Support add parentid to track caller.

Patch By: Martin Sun
Reviewed By: Hamid Akhtar
This commit is contained in:
Ibrar Ahmed
2021-02-12 11:42:36 +00:00
parent cba6bbfbd4
commit ed6fe2d8dc
8 changed files with 95 additions and 8 deletions

View File

@@ -376,3 +376,44 @@ postgres=# SELECT bucket, substr(query,0, 50) AS query, cmd_type FROM pg_stat_mo
4 | UPDATE pgbench_branches SET bbalance = bbalance + | UPDATE
(14 rows)
```
#### Function Execution Tracking
**`parentid`**: Outer layer caller's query id.
```sql
postgres=# select prosrc from pg_proc where proname = 'getnum';
prosrc
--------------------------------
select * from t1 where a >= $1
(1 row)
postgresr=# select pg_stat_monitor_reset();
pg_stat_monitor_reset
-----------------------
(1 row)
postgres=# select prosrc from pg_proc where proname = 'getnum';
prosrc
--------------------------------
select * from t1 where a >= $1
(1 row)
postgres=# select * from getnum(2);
a
---
2
3
4
(3 rows)
postgres=# select queryid,parentid,query,calls from pg_stat_monitor;
queryid | parentid | query | calls
------------------+------------------+-----------------------------------------------+-------
3FEC80684AFE7FC7 | DD2A4843140299C2 | select * from t1 where a >= $1 | 1
6ED05FFB78DD52FA | | select pg_stat_monitor_reset() | 1
DD2A4843140299C2 | | select * from getnum($1) | 1
42517D48FB98ACF7 | | select prosrc from pg_proc where proname = $1 | 1
(4 rows)
```