PostgreSQL extensible Parse error when specifying tagvalue="query" for pg_stat_statements

Influxdb 1.3.7
Telegraf 1.4.4

  [[inputs.postgresql_extensible]]
     address = "host=localhost user=telegraf sslmode=disable password=telegraf"
   
   [[inputs.postgresql_extensible.query]]
     sqlquery = "SELECT * FROM pg_stat_database"
     version = 904
     tagvalue = ""
     measurement = "pg_stat_database"
     withdbname = false
   
   [[inputs.postgresql_extensible.query]]
     sqlquery = "SELECT * FROM pg_stat_bgwriter"
     version = 904
     tagvalue = ""
     measurement = "pg_stat_bgwriter"
     withdbname = false
   
   [[inputs.postgresql_extensible.query]]
     sqlquery = "SELECT * FROM pg_stat_replication"
     version = 904
     tagvalue = ""
     measurement = "pg_stat_replication"
     withdbname = false
   
   [[inputs.postgresql_extensible.query]]
     sqlquery = "SELECT * FROM pg_stat_statements"
     version = 904
     tagvalue = "query"
     measurement = "pg_stat_statements"
     withdbname = false
2017-11-23T08:46:10Z E! Parse error; dropping points: Response Error: Status Code [400], expected [204], [partial write: unable to parse 'pg_stat_statements,environment=dev,host=psql01.host.name,server=host\=localhost\ user\=telegraf\ ,db=postgres,query=select\ t.oid\,\ t.typname': missing fields
unable to parse 'from\ pg_type\ t': missing fields
unable to parse 'left\ join\ pg_type\ base_type\ on\ t.typelem\=base_type.oid': missing fields
unable to parse 'where\ (': missing fields
unable to parse '\ \ t.typtype\=?': missing fields
unable to parse '\ \ and\ (base_type.oid\ is\ null\ or\ base_type.typtype\=?)': missing fields
unable to parse ')': missing fields
unable to parse 'pg_stat_statements,db=postgres,query=CREATE\ EXTENSION\ pg_stat_statements': missing fields
unable to parse 'pg_stat_statements,environment=dev,host=devpsql02.curate.ly,server=host\=localhost\ user\=telegraf\ ,db=postgres,query=/*\ contrib/pg_stat_statements/pg_stat_statements--1.2.sql\ */': missing fields
unable to parse '--\ complain\ if\ script\ is\ sourced\ in\ psql\,\ rather\ than\ via\ CREATE\ EXTENSION': missing fields
unable to parse '--\ Register\ functions.': missing fields
unable to parse 'CREATE\ FUNCTION\ pg_stat_statements_reset()': missing fields
unable to parse 'RETURNS\ void': missing fields
unable to parse 'AS\ '$libdir/pg_stat_statements'': missing fields
unable to parse 'LANGUAGE\ C;': missing fields
unable to parse 'CREATE\ FUNCTION\ pg_stat_statements(IN\ showtext\ boolean\,': missing fields
unable to parse '\ \ \ \ OUT\ userid\ oid\,': missing fields
unable to parse '\ \ \ \ OUT\ dbid\ oid\,': missing fields
unable to parse '\ \ \ \ OUT\ queryid\ bigint\,': missing fields
unable to parse '\ \ \ \ OUT\ query\ text\,': missing fields
unable to parse '\ \ \ \ OUT\ calls\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ total_time\ float8\,': missing fields
unable to parse '\ \ \ \ OUT\ rows\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ shared_blks_hit\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ shared_blks_read\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ shared_blks_dirtied\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ shared_blks_written\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ local_blks_hit\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ local_blks_read\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ local_blks_dirtied\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ local_blks_written\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ temp_blks_read\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ temp_blks_written\ int8\,': missing fields
unable to parse '\ \ \ \ OUT\ blk_read_time\ float8\,': missing fields
unable to parse '\ \ \ \ OUT\ blk_write_time\ float8': missing fields
unable to parse ')': missing fields
unable to parse 'RETURNS\ SETOF\ record': missing fields
unable to parse 'AS\ '$libdir/pg_stat_statements'\,\ 'pg_stat_statements_1_2'': missing fields
unable to parse 'LANGUAGE\ C\ STRICT\ VOLATILE;': missing fields
unable to parse '--\ Register\ a\ view\ on\ the\ function\ for\ ease\ of\ use.': missing fields
unable to parse 'CREATE\ VIEW\ pg_stat_statements\ AS': missing fields
unable to parse '\ \ SELECT\ *\ FROM\ pg_stat_statements(true);': missing fields
unable to parse 'GRANT\ SELECT\ ON\ pg_stat_statements\ TO\ PUBLIC;': missing fields
unable to parse '--\ Don't\ want\ this\ to\ be\ available\ to\ non-superusers.': missing fields
unable to parse 'REVOKE\ ALL\ ON\ FUNCTION\ pg_stat_statements_reset()\ FROM\ PUBLIC;': missing fields
unable to parse 'rows=0i,local_blks_hit=0i,shared_blks_hit=498i,blk_write_time=0,shared_blks_read=65i,userid="10",blk_read_time=0,shared_blks_dirtied=30i,local_blks_dirtied=0i,total_time=59.020999999999994,dbid="12143",local_blks_read=0i,temp_blks_read=0i,queryid=2956981993i,shared_blks_written=0i,calls=5i,temp_blks_written=0i,local_blks_written=0i 1511426760000000000': invalid field format

Also it creates these measurements in influxdb

  or t.typname in(?);
;
ORDER BY 1,2;
ORDER BY 1;

If I don’t have tagvalue=“query” for pg_stat+statements it works fine, but in this case I want to be able to group by queries to determine which ones are non performant.

This looks like a bug, could you open a new issue on Telegraf?

I see it now, thanks: