File tree 1 file changed +16
-1
lines changed
1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -105,7 +105,22 @@ func (c *ObservingClone) getDBSize(ctx context.Context, dbSize *int64) error {
105
105
106
106
// getMaxQueryTime gets maximum query duration.
107
107
func (c * ObservingClone ) getMaxQueryTime (ctx context.Context , maxTime * float64 ) error {
108
- row := c .superUserDB .QueryRow (ctx , "select max(max_time) from pg_stat_statements" )
108
+ var pgVersion int
109
+
110
+ row := c .superUserDB .QueryRow (ctx , "select current_setting('server_version_num')::int" )
111
+
112
+ if err := row .Scan (& pgVersion ); err != nil {
113
+ return fmt .Errorf ("failed to define Postgres Version: %w" , err )
114
+ }
115
+
116
+ const pgVersion13 = 130000
117
+
118
+ maxTimeQuery := "select max(max_time) from pg_stat_statements"
119
+ if pgVersion >= pgVersion13 {
120
+ maxTimeQuery = "select max(max_exec_time + max_plan_time) from pg_stat_statements"
121
+ }
122
+
123
+ row = c .superUserDB .QueryRow (ctx , maxTimeQuery )
109
124
110
125
return row .Scan (& maxTime )
111
126
}
You can’t perform that action at this time.
0 commit comments