2014-04-11 17 views
7

的Postgres 9.3引入了數據校驗功能,可以在網頁檢測損壞。有沒有辦法查詢數據庫,以確定這是否是開啓的?如何判斷數據校驗功能是在Postgres的

是一個PaaS的系統上承載的,我沒有進入到實際的服務器來檢查任何配置的設置在那裏。我也只能訪問我們的數據庫,而不是主要的postgres數據庫。有沒有一種方法可以確定它是否僅在psql控制檯上打開?

回答

11
show data_checksums; 
data_checksums 
---------------- 
off 

http://www.postgresql.org/docs/current/static/runtime-config-preset.html

+0

你需要的,也許特殊的權限?我收到「錯誤:無法識別的配置參數」data_checksums「」。另外,當我運行show all; data_checksums是不在列表中 –

+0

我想補充一點,ignore_checksum_failure雖然沒有顯示。 –

0

您可以使用pg_controldata看看你的PostgreSQL集羣啓用data_checksum。 如果版本= 0,則羣集禁用該功能。 而data_checksums參數在PostgreSQL 9.3.4添加,如果你的PostgreSQL版本的小比,你cannt選擇此GUC參數。你必須通過控制文件檢查它。

[email protected]> pg_controldata |grep checksum 
Data page checksum version:   0 
+0

Aww謝謝。我的問題是我在9.3.3上。不幸的是,我沒有shell訪問數據庫機器來使用pg_controldata。我想我只需要Heroku告訴我。 –

相關問題