heroku/heroku-pg-extras

vacuum-stats: invalid input syntax for type real

Closed this issue · 1 comments

On Ubuntu 12.04 VM running in VirtualBox I'm getting the following error when attempting to run vacuum-stats using v1.0.4 of heroku-pg-extras.

heroku pg:vacuum-stats -a XXXXXXXX ▸ 1: Command failed: psql -c ▸ WITH table_opts AS ( ▸ SELECT ▸ pg_class.oid, relname, nspname, array_to_string(reloptions, '') AS relopts ▸ FROM ▸ pg_class INNER JOIN pg_namespace ns ON relnamespace = ns.oid ▸ ), vacuum_settings AS ( ▸ SELECT ▸ oid, relname, nspname, ▸ CASE ▸ WHEN relopts LIKE '%autovacuum_vacuum_threshold%' ▸ THEN regexp_replace(relopts, '.*autovacuum_vacuum_threshold=([0-9.]+).*', E'\\\1')::integer ▸ ELSE current_setting('autovacuum_vacuum_threshold')::integer ▸ END AS autovacuum_vacuum_threshold, ▸ CASE ▸ WHEN relopts LIKE '%autovacuum_vacuum_scale_factor%' ▸ THEN regexp_replace(relopts, '.*autovacuum_vacuum_scale_factor=([0-9.]+).*', E'\\\1')::real ▸ ELSE current_setting('autovacuum_vacuum_scale_factor')::real ▸ END AS autovacuum_vacuum_scale_factor ▸ FROM ▸ table_opts ▸ ) ▸ SELECT ▸ vacuum_settings.nspname AS schema, ▸ vacuum_settings.relname AS table, ▸ to_char(psut.last_vacuum, 'YYYY-MM-DD HH24:MI') AS last_vacuum, ▸ to_char(psut.last_autovacuum, 'YYYY-MM-DD HH24:MI') AS last_autovacuum, ▸ to_char(pg_class.reltuples, '9G999G999G999') AS rowcount, ▸ to_char(psut.n_dead_tup, '9G999G999G999') AS dead_rowcount, ▸ to_char(autovacuum_vacuum_threshold ▸ + (autovacuum_vacuum_scale_factor::numeric * pg_class.reltuples), '9G999G999G999') AS autovacuum_threshold, ▸ CASE ▸ WHEN autovacuum_vacuum_threshold + (autovacuum_vacuum_scale_factor::numeric * pg_class.reltuples) < psut.n_dead_tup ▸ THEN 'yes' ▸ END AS expect_autovacuum ▸ FROM ▸ pg_stat_user_tables psut INNER JOIN pg_class ON psut.relid = pg_class.oid ▸ INNER JOIN vacuum_settings ON pg_class.oid = vacuum_settings.oid ▸ ORDER BY 1 ▸ ▸ ERROR: invalid input syntax for type real: "\�" ▸

Any help would be greatly appreciated.

#130 should fix this. @dickeyxxx, can we merge that one?