File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Expand file tree Collapse file tree 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 {
105105
106106// getMaxQueryTime gets maximum query duration.
107107func (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 )
109124
110125 return row .Scan (& maxTime )
111126}
You can’t perform that action at this time.
0 commit comments