You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: grafana/postgres/v12/5-table-details.json
+18-18Lines changed: 18 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@
18
18
"editable": true,
19
19
"fiscalYearStartMonth": 0,
20
20
"graphTooltip": 0,
21
-
"id": 30,
21
+
"id": 9,
22
22
"links": [],
23
23
"panels": [
24
24
{
@@ -120,7 +120,7 @@
120
120
"sort": "desc"
121
121
}
122
122
},
123
-
"pluginVersion": "12.1.0",
123
+
"pluginVersion": "12.3.1",
124
124
"targets": [
125
125
{
126
126
"alias": "total_relation_size",
@@ -311,7 +311,7 @@
311
311
"sort": "desc"
312
312
}
313
313
},
314
-
"pluginVersion": "12.1.0",
314
+
"pluginVersion": "12.3.1",
315
315
"targets": [
316
316
{
317
317
"alias": "seq_scans",
@@ -340,7 +340,7 @@
340
340
"orderByTime": "ASC",
341
341
"policy": "default",
342
342
"rawQuery": true,
343
-
"rawSql": "SELECT\n $__timeGroup(time, $agg_interval),\n avg( ((seq_scan-seq_scan_lag)::numeric*3600) / extract(epoch from time - time_lag) ) as seq_scan,\n avg( ((idx_scan-idx_scan_lag)::numeric*3600) / extract(epoch from time - time_lag) ) as idx_scan\nFROM ( \n SELECT\n (data->>'seq_scan')::int8 as seq_scan, lag((data->>'seq_scan')::int8) over w as seq_scan_lag,\n (data->>'idx_scan')::int8 as idx_scan, lag((data->>'idx_scan')::int8) over w as idx_scan_lag,\n time, lag(time) over w as time_lag \n FROM\n table_stats\n WHERE\n $__timeFilter(time) AND dbname = '$dbname'\n AND tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\n WINDOW w as (order by time)\n) x\nWHERE seq_scan >= seq_scan_lag and time > time_lag\nGROUP BY 1\nORDER BY 1",
343
+
"rawSql": "WITH last_out_of_range_row_time(time) AS (\n SELECT time \n FROM table_stats\n WHERE dbname = '$dbname' AND time < $__timeFrom()::timestamptz\n ORDER BY time DESC\n LIMIT 1\n)\n\nSELECT\n $__timeGroup(time, $agg_interval),\n avg( ((seq_scan-seq_scan_lag)::numeric*3600) / extract(epoch from time - time_lag) ) as seq_scan,\n avg( ((idx_scan-idx_scan_lag)::numeric*3600) / extract(epoch from time - time_lag) ) as idx_scan\nFROM ( \n SELECT\n (data->>'seq_scan')::int8 as seq_scan, lag((data->>'seq_scan')::int8) over w as seq_scan_lag,\n (data->>'idx_scan')::int8 as idx_scan, lag((data->>'idx_scan')::int8) over w as idx_scan_lag,\n time, lag(time) over w as time_lag \n FROM\n table_stats\n WHERE \n time <= $__timeTo()::timestamptz AND time >= (SELECT time FROM last_out_of_range_row_time)\n AND dbname = '$dbname' AND tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\n WINDOW w as (order by time)\n) x\nWHERE seq_scan >= seq_scan_lag and time > time_lag\nGROUP BY 1\nORDER BY 1",
344
344
"refId": "A",
345
345
"resultFormat": "time_series",
346
346
"select": [
@@ -476,7 +476,7 @@
476
476
"sort": "desc"
477
477
}
478
478
},
479
-
"pluginVersion": "12.1.0",
479
+
"pluginVersion": "12.3.1",
480
480
"targets": [
481
481
{
482
482
"alias": "INS",
@@ -505,7 +505,7 @@
505
505
"orderByTime": "ASC",
506
506
"policy": "default",
507
507
"rawQuery": true,
508
-
"rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg((ins-ins_lag) * 3600 / extract(epoch from time - time_lag)) as \"INSERT\",\n avg((upd-upd_lag) * 3600 / extract(epoch from time - time_lag)) as \"UPDATE\",\n avg((del-del_lag) * 3600 / extract(epoch from time - time_lag)) as \"DELETE\"\nfrom (\n select \n (data->>'n_tup_ins')::int8 as ins, lag((data->>'n_tup_ins')::int8) over w as ins_lag,\n (data->>'n_tup_upd')::int8 as upd, lag((data->>'n_tup_upd')::int8) over w as upd_lag,\n (data->>'n_tup_del')::int8 as del, lag((data->>'n_tup_del')::int8) over w as del_lag,\n time, lag(time) over w as time_lag\n from table_stats\n where dbname = '$dbname' and $__timeFilter(time)\n and tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\n window w as (order by time)\n\n) x\nwhere ins >= ins_lag and time > time_lag\ngroup by 1\norder by 1",
508
+
"rawSql": "WITH last_out_of_range_row_time(time) AS (\n SELECT time \n FROM table_stats\n WHERE dbname = '$dbname' AND time < $__timeFrom()::timestamptz\n ORDER BY time DESC\n LIMIT 1\n)\n\nselect\n $__timeGroup(time, $agg_interval),\n avg((ins-ins_lag) * 3600 / extract(epoch from time - time_lag)) as \"INSERT\",\n avg((upd-upd_lag) * 3600 / extract(epoch from time - time_lag)) as \"UPDATE\",\n avg((del-del_lag) * 3600 / extract(epoch from time - time_lag)) as \"DELETE\"\nfrom (\n select \n (data->>'n_tup_ins')::int8 as ins, lag((data->>'n_tup_ins')::int8) over w as ins_lag,\n (data->>'n_tup_upd')::int8 as upd, lag((data->>'n_tup_upd')::int8) over w as upd_lag,\n (data->>'n_tup_del')::int8 as del, lag((data->>'n_tup_del')::int8) over w as del_lag,\n time, lag(time) over w as time_lag\n from table_stats\n where \n time <= $__timeTo()::timestamptz AND time >= (SELECT time FROM last_out_of_range_row_time)\n AND dbname = '$dbname' and tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\n window w as (order by time)\n) x\nwhere ins >= ins_lag and time > time_lag\ngroup by 1\norder by 1",
509
509
"refId": "A",
510
510
"resultFormat": "time_series",
511
511
"select": [
@@ -641,7 +641,7 @@
641
641
"sort": "desc"
642
642
}
643
643
},
644
-
"pluginVersion": "12.1.0",
644
+
"pluginVersion": "12.3.1",
645
645
"targets": [
646
646
{
647
647
"alias": "Heap",
@@ -671,7 +671,7 @@
671
671
"policy": "default",
672
672
"query": "SELECT non_negative_derivative(mean(\"heap_blks_hit\"), 10s) / (non_negative_derivative(mean(\"heap_blks_hit\"), 10s) + non_negative_derivative(mean(\"heap_blks_read\"), 10s)) * 100 FROM \"table_io_stats\" WHERE \"dbname\" =~ /^$dbname$/ AND \"table_full_name\" =~ /^$table_full_name$/ AND $timeFilter GROUP BY time($__interval) fill(none)",
673
673
"rawQuery": true,
674
-
"rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg( case when hh = hh_lag and hr = hr_lag then null else (hh-hh_lag)::numeric * 100 / (hh-hh_lag+hr-hr_lag) end ) as \"Heap\",\n avg( case when ih = ih_lag and ir = ir_lag then null else (ih-ih_lag)::numeric * 100 / (ih-ih_lag+ir-ir_lag) end ) as \"Indexes\" \nfrom (\n select \n (data->>'heap_blks_hit')::int8 as hh, lag((data->>'heap_blks_hit')::int8) over w as hh_lag,\n (data->>'heap_blks_read')::int8 as hr, lag((data->>'heap_blks_read')::int8) over w as hr_lag,\n (data->>'idx_blks_hit')::int8 as ih, lag((data->>'idx_blks_hit')::int8) over w as ih_lag,\n (data->>'idx_blks_read')::int8 as ir, lag((data->>'idx_blks_read')::int8) over w as ir_lag,\n time\n from table_io_stats\n where dbname = '$dbname' and $__timeFilter(time)\n and tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\n window w as (order by time)\n) x\nwhere hh >= hh_lag\ngroup by 1\norder by 1",
674
+
"rawSql": "WITH last_out_of_range_row_time(time) AS (\n SELECT time \n FROM table_io_stats\n WHERE dbname = '$dbname' AND time < $__timeFrom()::timestamptz\n ORDER BY time DESC\n LIMIT 1\n)\n\nselect\n $__timeGroup(time, $agg_interval),\n avg( case when hh = hh_lag and hr = hr_lag then null else (hh-hh_lag)::numeric * 100 / (hh-hh_lag+hr-hr_lag) end ) as \"Heap\",\n avg( case when ih = ih_lag and ir = ir_lag then null else (ih-ih_lag)::numeric * 100 / (ih-ih_lag+ir-ir_lag) end ) as \"Indexes\" \nfrom (\n select \n (data->>'heap_blks_hit')::int8 as hh, lag((data->>'heap_blks_hit')::int8) over w as hh_lag,\n (data->>'heap_blks_read')::int8 as hr, lag((data->>'heap_blks_read')::int8) over w as hr_lag,\n (data->>'idx_blks_hit')::int8 as ih, lag((data->>'idx_blks_hit')::int8) over w as ih_lag,\n (data->>'idx_blks_read')::int8 as ir, lag((data->>'idx_blks_read')::int8) over w as ir_lag,\n time\n from table_io_stats\n where\n time <= $__timeTo()::timestamptz AND time >= (SELECT time FROM last_out_of_range_row_time)\n AND dbname = '$dbname' and tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\n window w as (order by time)\n) x\nwhere hh >= hh_lag\ngroup by 1\norder by 1",
675
675
"refId": "A",
676
676
"resultFormat": "time_series",
677
677
"select": [
@@ -805,7 +805,7 @@
805
805
"sort": "desc"
806
806
}
807
807
},
808
-
"pluginVersion": "12.1.0",
808
+
"pluginVersion": "12.3.1",
809
809
"targets": [
810
810
{
811
811
"alias": "$tag_index_name",
@@ -840,7 +840,7 @@
840
840
"orderByTime": "ASC",
841
841
"policy": "default",
842
842
"rawQuery": true,
843
-
"rawSql": "select\n$__timeGroup(time, $agg_interval),\n index_name,\n avg( ((idx_scan - idx_scan_lag)::numeric * 3600) / extract(epoch from time - time_lag) )\nfrom (\n select \n (data->>'idx_scan')::int8 as idx_scan, lag((data->>'idx_scan')::int8) over w as idx_scan_lag,\n tag_data->>'index_name' as index_name,\n time, lag(time) over w as time_lag\n from index_stats\n where dbname = '$dbname' and $__timeFilter(time)\n and tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\n window w as (order by time)\n) x\nwhere idx_scan >= idx_scan_lag and time > time_lag\ngroup by 1, 2\norder by 1, 2",
843
+
"rawSql": "WITH last_out_of_range_row_time(time) AS (\nSELECT time \n FROM index_stats\n WHERE dbname = '$dbname' AND time < $__timeFrom()::timestamptz\n ORDER BY time DESC\n LIMIT 1\n)\n\nselect\n $__timeGroup(time, $agg_interval),\n index_name,\n avg( ((idx_scan - idx_scan_lag)::numeric * 3600) / extract(epoch from time - time_lag) )\nfrom (\n select \n (data->>'idx_scan')::int8 as idx_scan, lag((data->>'idx_scan')::int8) over w as idx_scan_lag,\n tag_data->>'index_name' as index_name,\n time, lag(time) over w as time_lag\n from index_stats\n where\n time <= $__timeTo()::timestamptz AND time >= (SELECT time FROM last_out_of_range_row_time)\n AND dbname = '$dbname' and tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\n window w as (order by time)\n) x\nwhere idx_scan >= idx_scan_lag and time > time_lag\ngroup by 1, 2\norder by 1, 2",
844
844
"refId": "A",
845
845
"resultFormat": "time_series",
846
846
"select": [
@@ -951,7 +951,7 @@
951
951
"textMode": "auto",
952
952
"wideLayout": true
953
953
},
954
-
"pluginVersion": "12.1.0",
954
+
"pluginVersion": "12.3.1",
955
955
"targets": [
956
956
{
957
957
"datasource": {
@@ -962,7 +962,7 @@
962
962
"group": [],
963
963
"metricColumn": "none",
964
964
"rawQuery": true,
965
-
"rawSql": "SELECT\n0 as time,\n (data->>'seconds_since_last_vacuum')::int8\nFROM\n table_stats\nWHERE\n $__timeFilter(time)\n AND dbname = '$dbname'\n AND tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\nORDER BY time DESC\nLIMIT 1\n",
965
+
"rawSql": "SELECT\n time,\n (data->>'seconds_since_last_vacuum')::int8\nFROM\n table_stats\nWHERE\n $__timeFilter(time)\n AND dbname = '$dbname'\n AND tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\nORDER BY time DESC\nLIMIT 1\n",
966
966
"refId": "A",
967
967
"select": [
968
968
[
@@ -1055,7 +1055,7 @@
1055
1055
"textMode": "auto",
1056
1056
"wideLayout": true
1057
1057
},
1058
-
"pluginVersion": "12.1.0",
1058
+
"pluginVersion": "12.3.1",
1059
1059
"targets": [
1060
1060
{
1061
1061
"datasource": {
@@ -1066,7 +1066,7 @@
1066
1066
"group": [],
1067
1067
"metricColumn": "none",
1068
1068
"rawQuery": true,
1069
-
"rawSql": "SELECT\n0 as time,\n (data->>'seconds_since_last_analyze')::int8\nFROM\n table_stats\nWHERE\n $__timeFilter(time)\n AND dbname = '$dbname'\n AND tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\nORDER BY time DESC\nLIMIT 1\n",
1069
+
"rawSql": "SELECT\n time,\n (data->>'seconds_since_last_analyze')::int8\nFROM\n table_stats\nWHERE\n $__timeFilter(time)\n AND dbname = '$dbname'\n AND tag_data @> jsonb_build_object('table_full_name', '$table_full_name')\nORDER BY time DESC\nLIMIT 1\n",
1070
1070
"refId": "A",
1071
1071
"select": [
1072
1072
[
@@ -2627,7 +2627,7 @@
2627
2627
"overrides": []
2628
2628
},
2629
2629
"gridPos": {
2630
-
"h": 5,
2630
+
"h": 6,
2631
2631
"w": 12,
2632
2632
"x": 0,
2633
2633
"y": 30
@@ -2642,15 +2642,15 @@
2642
2642
"content": "### Brought to you by\n\n[](https://www.cybertec-postgresql.com/en/)\n",
0 commit comments