पहले मेरी टिप्पणी पर विचार करें।
9.4 तक पोस्टग्रेज और इसमें शामिल होने पर पंक्तियों को सम्मिलित या अपडेट किए जाने पर टाइमस्टैम्प अपने आप रिकॉर्ड नहीं होते हैं।
कुछ पंक्ति शीर्षलेखों में सिस्टम स्तंभ . हैं जो फॉरेंसिक काम में मदद कर सकता है। पंक्तियों का भौतिक क्रम (ctid
) कर सकते हैं एक संकेतक बनें यदि तब से तालिका में और कुछ नहीं हुआ है। साधारण मामलों में नई पंक्तियों को सम्मिलित करते समय तालिका के भौतिक अंत में जोड़ दिया जाता है, इसलिए ctid
इंगित करता है कि आखिरी बार क्या डाला गया था - जब तक तालिका में कुछ भी नहीं बदलता। उदाहरण के लिए VACUUM
के साथ, Postgres अपनी इच्छानुसार पंक्तियों के भौतिक क्रम को पुनर्व्यवस्थित करने के लिए स्वतंत्र है . कोई भी UPDATE
एक नया पंक्ति संस्करण भी लिखता है, जो भौतिक स्थिति को बदल सकता है। नया संस्करण तालिका के अंत में होना आवश्यक नहीं है। यदि संभव हो तो पोस्टग्रेज़ नए पंक्ति संस्करण को उसी डेटा पृष्ठ पर रखने का प्रयास करता है (हॉट अपडेट
) ...
उस ने कहा, शारीरिक रूप से . प्राप्त करने के लिए यहां एक सरल प्रश्न है किसी तालिका के लिए अंतिम पंक्तियाँ:
SELECT ctid, *
FROM big
ORDER BY ctid DESC
LIMIT 10;
विस्तृत जानकारी के साथ dba.SE पर संबंधित उत्तर:
- VACUUM ऑपरेटिंग सिस्टम में डिस्क स्थान लौटा रहा है
- मैं ctid को पेज और रो नंबरों में कैसे विघटित करूं?
सम्मिलित लेनदेन आईडी xmin
उपयोगी हो सकता है:
यदि आपके पास बैकअप . है घटना के ठीक पहले से परीक्षण डीबी के लिए, कि होगा मददगार रहें। पुरानी स्थिति को परीक्षण डीबी की एक अलग स्कीमा में पुनर्स्थापित करें और तालिकाओं की तुलना करें ...
आमतौर पर, मैं एक या दो timestamptz
जोड़ता हूं महत्वपूर्ण तालिकाओं के लिए कॉलम जब पंक्ति डाली गई थी, और / या जब इसे पिछली बार अपडेट किया गया था। वह होगा अभी आपके लिए अत्यधिक उपयोगी हो...
क्या होगा आपके लिए भी अच्छा होगा:"temporal" सुविधाएँ SQL के साथ SQL मानक में पेश की गई हैं:2011
. लेकिन इसे अभी तक पोस्टग्रेज़ में लागू नहीं किया गया है।> .
एक अनौपचारिक PGXN पर एक्सटेंशन
भी है। . मैंने इसका परीक्षण नहीं किया है और यह नहीं कह सकता कि यह कितनी दूर है।
पोस्टग्रेज 9.5 रिकॉर्ड करने के लिए एक विशेषता पेश करता है टाइमस्टैम्प प्रतिबद्ध करें (जैसे @क्रेग ने टिप्पणी की ) रिकॉर्डिंग शुरू करने से पहले इसे मैन्युअल रूप से सक्षम करने की आवश्यकता है।मैनुअल:
और इसके साथ काम करने के लिए कुछ फ़ंक्शन।