2013-01-16 65 views
7

我使用的Heroku Postgres的,想看看有什麼效果已經增加了一些額外的指標到我的數據庫。我怎樣才能在Heroku重置pg_stat_user_tables和? (pg_stat_reset()需要超級用戶)

我查詢pg_stat_user_tables看到使用索引多大比例的查詢是,但我相信,因爲我創建的數據庫正在使用從以往的統計數據。

我明白,運行SELECT pg_stat_reset();將重置這些統計數據,但是當我試圖運行在PG:PSQL控制檯我得到的錯誤:

ERROR: must be superuser to reset statistics counters 

有另一種方式用的Heroku Postgres而言,要實現這一目標生產數據庫?

+0

你已經成功重置在Heroku上的數據庫的統計數據? – thejaz

+0

不,我仍然不知道如何做到這一點。你知道嗎? – Dan

回答

2

有多容易讓你重現將行使這些查詢的方案或測試?你可以做以下嗎?

  1. 創建在Heroku上一個新的測試程序和測試數據庫
  2. 部署舊版本的應用程序,與舊索引(和數據的代表性的子集,如果複製你的整個數據庫是不可行的)
  3. 運行查詢或測試,或者鍛鍊你的應用
  4. 注分貝統計
  5. 跌落測試數據庫,並創建一個新的
  6. 與您的數據填入新的測試數據庫,並添加新的索引
  7. 指向新的數據庫
  8. 測試程序運行查詢或再次
  9. 注意測試新的DB靜

希望你能夠輕鬆地創建一組有代表性的數據,可以讓你測試你的查詢更容易。

+0

嗨culix,感謝您的回答。我正在看的數據庫在我們的現場。我們沒有一個全面的測試套件來運行應用程序,所以它不會那麼容易。是的,進行密集測試的測試集對於這類事情會很好。儘管我正在尋找一種直接在Heroku上重置統計數據的方法,以查看實際數據在生產中的實際影響。 – Dan

1

我通過支持請求,今天發現這個已添加:

heroku plugins:install git://github.com/heroku/heroku-pg-extras.git

heroku pg:stats_reset