ऐसा करने के लिए कोई अंतर्निहित तरीका नहीं है - और all the approaches that check the file mtime described in other answers here are wrong। एकमात्र विश्वसनीय विकल्प प्रत्येक तालिका में ट्रिगर्स जोड़ना है जो एक ही परिवर्तन-इतिहास तालिका में परिवर्तन रिकॉर्ड करता है, जो बेहद अक्षम है और इसे पीछे से नहीं किया जा सकता है।
यदि आप केवल "डेटाबेस उपयोग किए गए" बनाम "डेटाबेस का उपयोग नहीं किया गया" के बारे में परवाह करते हैं तो आप संभावित रूप से CSV- प्रारूप डेटाबेस लॉग फ़ाइलों से इस जानकारी को एकत्र कर सकते हैं। "संशोधित" बनाम "संशोधित नहीं" का पता लगाना बहुत कठिन है; SELECT writes_to_some_table(...)
पर विचार करें।
आप वर्ष गतिविधि का पता लगाने की जरूरत नहीं है, तो आप pg_stat_database
, जो गतिविधि रिकॉर्ड के बाद से पिछले आँकड़े रीसेट उपयोग कर सकते हैं। उदा .:
-[ RECORD 6 ]--+------------------------------
datid | 51160
datname | regress
numbackends | 0
xact_commit | 54224
xact_rollback | 157
blks_read | 2591
blks_hit | 1592931
tup_returned | 26658392
tup_fetched | 327541
tup_inserted | 1664
tup_updated | 1371
tup_deleted | 246
conflicts | 0
temp_files | 0
temp_bytes | 0
deadlocks | 0
blk_read_time | 0
blk_write_time | 0
stats_reset | 2013-12-13 18:51:26.650521+08
तो मैं देख सकता हूँ कि वहाँ इस डीबी पर गतिविधि नहीं हुई क्योंकि पिछले आंकड़े रीसेट है। हालांकि, मुझे आंकड़ों को रीसेट करने से पहले क्या हुआ, इसके बारे में कुछ भी नहीं पता, इसलिए यदि मेरे पास आधे घंटे पहले आंकड़े रीसेट होने के बाद शून्य गतिविधि दिखाई दे रही थी, तो मुझे कुछ भी उपयोगी नहीं पता था।
स्रोत
2014-02-05 01:31:13
प्रतिबद्ध सभी दृष्टिकोण है कि ऑपरेटिंग परीक्षण पर भरोसा करते हैं सिस्टम फ़ाइल संशोधन समय गलत है, http://dba.stackexchange.com/a/58246/7788 –