Merge pull request #3329 from efuss/fix-3311
[collectd.git] / src / postgresql_default.conf
index 21a0cd5..5079901 100644 (file)
@@ -1,4 +1,9 @@
 # Pre-defined queries of collectd's postgresql plugin.
+#
+# Do not edit this file. If you want to change any of the query definitions,
+# overwrite them in collectd.conf instead.
+#
+# This file is distributed under the same terms as collectd itself.
 
 <Query backends>
        Statement "SELECT count(*) AS count \
@@ -33,9 +38,9 @@
 </Query>
 
 <Query queries>
-       Statement "SELECT sum(n_tup_ins) AS ins, \
-                       sum(n_tup_upd) AS upd, \
-                       sum(n_tup_del) AS del \
+       Statement "SELECT coalesce(sum(n_tup_ins), 0) AS ins, \
+                       coalesce(sum(n_tup_upd), 0) AS upd, \
+                       coalesce(sum(n_tup_del), 0) AS del \
                FROM pg_stat_user_tables;"
 
        <Result>
 </Query>
 
 <Query queries>
-       Statement "SELECT sum(n_tup_ins) AS ins, \
-                       sum(n_tup_upd) AS upd, \
-                       sum(n_tup_del) AS del, \
-                       sum(n_tup_hot_upd) AS hot_upd \
+       Statement "SELECT coalesce(sum(n_tup_ins), 0) AS ins, \
+                       coalesce(sum(n_tup_upd), 0) AS upd, \
+                       coalesce(sum(n_tup_del), 0) AS del, \
+                       coalesce(sum(n_tup_hot_upd), 0) AS hot_upd \
                FROM pg_stat_user_tables;"
 
        <Result>
        MinVersion 80300
 </Query>
 
+<Query queries_by_table>
+       Statement "SELECT schemaname, relname, \
+                       n_tup_ins AS ins, \
+                       n_tup_upd AS upd, \
+                       n_tup_del AS del \
+               FROM pg_stat_user_tables;"
+
+       <Result>
+               Type "pg_n_tup_c"
+               InstancePrefix "ins"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "ins"
+       </Result>
+       <Result>
+               Type "pg_n_tup_c"
+               InstancePrefix "upd"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "upd"
+       </Result>
+       <Result>
+               Type "pg_n_tup_c"
+               InstancePrefix "del"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "del"
+       </Result>
+
+       MaxVersion 80299
+</Query>
+
+<Query queries_by_table>
+       Statement "SELECT schemaname, relname, \
+                       n_tup_ins AS ins, \
+                       n_tup_upd AS upd, \
+                       n_tup_del AS del, \
+                       n_tup_hot_upd AS hot_upd \
+               FROM pg_stat_user_tables;"
+
+       <Result>
+               Type "pg_n_tup_c"
+               InstancePrefix "ins"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "ins"
+       </Result>
+       <Result>
+               Type "pg_n_tup_c"
+               InstancePrefix "upd"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "upd"
+       </Result>
+       <Result>
+               Type "pg_n_tup_c"
+               InstancePrefix "del"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "del"
+       </Result>
+       <Result>
+               Type "pg_n_tup_c"
+               InstancePrefix "hot_upd"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "hot_upd"
+       </Result>
+
+       MinVersion 80300
+</Query>
+
 <Query query_plans>
-       Statement "SELECT sum(seq_scan) AS seq, \
-                       sum(seq_tup_read) AS seq_tup_read, \
-                       sum(idx_scan) AS idx, \
-                       sum(idx_tup_fetch) AS idx_tup_fetch \
+       Statement "SELECT coalesce(sum(seq_scan), 0) AS seq, \
+                         coalesce(sum(seq_tup_read), 0) AS seq_tup_read, \
+                         coalesce(sum(idx_scan), 0) AS idx, \
+                         coalesce(sum(idx_tup_fetch), 0) AS idx_tup_fetch \
                FROM pg_stat_user_tables;"
 
        <Result>
 </Query>
 
 <Query table_states>
-       Statement "SELECT sum(n_live_tup) AS live, sum(n_dead_tup) AS dead \
+       Statement "SELECT coalesce(sum(n_live_tup), 0) AS live, \
+               coalesce(sum(n_dead_tup), 0) AS dead \
                FROM pg_stat_user_tables;"
 
        <Result>
        MinVersion 80300
 </Query>
 
+<Query query_plans_by_table>
+       Statement "SELECT schemaname, relname, \
+                       coalesce(seq_scan, 0) AS seq, \
+                       coalesce(seq_tup_read, 0) AS seq_tup_read, \
+                       coalesce(idx_scan, 0) AS idx, \
+                       coalesce(idx_tup_fetch, 0) AS idx_tup_fetch \
+               FROM pg_stat_user_tables;"
+
+       <Result>
+               Type "pg_scan"
+               InstancePrefix "seq"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "seq"
+       </Result>
+       <Result>
+               Type "pg_scan"
+               InstancePrefix "seq_tup_read"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "seq_tup_read"
+       </Result>
+       <Result>
+               Type "pg_scan"
+               InstancePrefix "idx"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "idx"
+       </Result>
+       <Result>
+               Type "pg_scan"
+               InstancePrefix "idx_tup_fetch"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "idx_tup_fetch"
+       </Result>
+</Query>
+
+<Query table_states_by_table>
+       Statement "SELECT schemaname, relname, \
+                       n_live_tup AS live, n_dead_tup AS dead \
+               FROM pg_stat_user_tables;"
+
+       <Result>
+               Type "pg_n_tup_g"
+               InstancePrefix "live"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "live"
+       </Result>
+       <Result>
+               Type "pg_n_tup_g"
+               InstancePrefix "dead"
+               InstancesFrom "schemaname" "relname"
+               ValuesFrom "dead"
+       </Result>
+
+       MinVersion 80300
+</Query>
+
 <Query disk_io>
-       Statement "SELECT sum(heap_blks_read) AS heap_read, \
-                       sum(heap_blks_hit) AS heap_hit, \
-                       sum(idx_blks_read) AS idx_read, \
-                       sum(idx_blks_hit) AS idx_hit, \
-                       sum(toast_blks_read) AS toast_read, \
-                       sum(toast_blks_hit) AS toast_hit, \
-                       sum(tidx_blks_read) AS tidx_read, \
-                       sum(tidx_blks_hit) AS tidx_hit \
+       Statement "SELECT coalesce(sum(heap_blks_read), 0) AS heap_read, \
+                       coalesce(sum(heap_blks_hit), 0) AS heap_hit, \
+                       coalesce(sum(idx_blks_read), 0) AS idx_read, \
+                       coalesce(sum(idx_blks_hit), 0) AS idx_hit, \
+                       coalesce(sum(toast_blks_read), 0) AS toast_read, \
+                       coalesce(sum(toast_blks_hit), 0) AS toast_hit, \
+                       coalesce(sum(tidx_blks_read), 0) AS tidx_read, \
+                       coalesce(sum(tidx_blks_hit), 0) AS tidx_hit \
+               FROM pg_statio_user_tables;"
+
+       <Result>
+               Type "pg_blks"
+               InstancePrefix "heap_read"
+               ValuesFrom "heap_read"
+       </Result>
+       <Result>
+               Type "pg_blks"
+               InstancePrefix "heap_hit"
+               ValuesFrom "heap_hit"
+       </Result>
+       <Result>
+               Type "pg_blks"
+               InstancePrefix "idx_read"
+               ValuesFrom "idx_read"
+       </Result>
+       <Result>
+               Type "pg_blks"
+               InstancePrefix "idx_hit"
+               ValuesFrom "idx_hit"
+       </Result>
+       <Result>
+               Type "pg_blks"
+               InstancePrefix "toast_read"
+               ValuesFrom "toast_read"
+       </Result>
+       <Result>
+               Type "pg_blks"
+               InstancePrefix "toast_hit"
+               ValuesFrom "toast_hit"
+       </Result>
+       <Result>
+               Type "pg_blks"
+               InstancePrefix "tidx_read"
+               ValuesFrom "tidx_read"
+       </Result>
+       <Result>
+               Type "pg_blks"
+               InstancePrefix "tidx_hit"
+               ValuesFrom "tidx_hit"
+       </Result>
+</Query>
+
+<Query disk_io_by_table>
+       Statement "SELECT schemaname, relname, \
+                       coalesce(heap_blks_read, 0) AS heap_read, \
+                       coalesce(heap_blks_hit, 0) AS heap_hit, \
+                       coalesce(idx_blks_read, 0) AS idx_read, \
+                       coalesce(idx_blks_hit, 0) AS idx_hit, \
+                       coalesce(toast_blks_read, 0) AS toast_read, \
+                       coalesce(toast_blks_hit, 0) AS toast_hit, \
+                       coalesce(tidx_blks_read, 0) AS tidx_read, \
+                       coalesce(tidx_blks_hit, 0) AS tidx_hit \
                FROM pg_statio_user_tables;"
 
        <Result>
                Type "pg_blks"
                InstancePrefix "heap_read"
+               InstancesFrom "schemaname" "relname"
                ValuesFrom "heap_read"
        </Result>
        <Result>
                Type "pg_blks"
                InstancePrefix "heap_hit"
+               InstancesFrom "schemaname" "relname"
                ValuesFrom "heap_hit"
        </Result>
        <Result>
                Type "pg_blks"
                InstancePrefix "idx_read"
+               InstancesFrom "schemaname" "relname"
                ValuesFrom "idx_read"
        </Result>
        <Result>
                Type "pg_blks"
                InstancePrefix "idx_hit"
+               InstancesFrom "schemaname" "relname"
                ValuesFrom "idx_hit"
        </Result>
        <Result>
                Type "pg_blks"
                InstancePrefix "toast_read"
+               InstancesFrom "schemaname" "relname"
                ValuesFrom "toast_read"
        </Result>
        <Result>
                Type "pg_blks"
                InstancePrefix "toast_hit"
+               InstancesFrom "schemaname" "relname"
                ValuesFrom "toast_hit"
        </Result>
        <Result>
                Type "pg_blks"
                InstancePrefix "tidx_read"
+               InstancesFrom "schemaname" "relname"
                ValuesFrom "tidx_read"
        </Result>
        <Result>
                Type "pg_blks"
                InstancePrefix "tidx_hit"
+               InstancesFrom "schemaname" "relname"
                ValuesFrom "tidx_hit"
        </Result>
 </Query>