में एक महीने पहले का टाइमस्टैम्प प्राप्त करें मेरे पास एक पोस्टग्रेएसक्यूएल डेटाबेस है जिसमें एक तालिका तेजी से बड़ी हो जाती है (हर महीने कई मिलियन पंक्तियां या तो) इसलिए मैं समय-समय पर उस तालिका की सामग्री को एक अलग तालिका में संग्रहीत करना चाहता हूं ।पोस्टग्रेएसक्यूएल
मैं दूसरी पंक्ति में एक महीने से अधिक पुरानी सभी पंक्तियों को संग्रहीत करने के लिए रात में एक .sql फ़ाइल निष्पादित करने के लिए क्रॉन नौकरी का उपयोग करने का इरादा रख रहा हूं।
मेरे पास क्वेरी ठीक काम कर रही है, लेकिन मुझे यह जानने की जरूरत है कि कैसे एक महीने पहले गतिशीलता को गतिशील बनाना है।
time
कॉलम 2013-10-27 06:53:12
प्रारूप में संग्रहीत है और मुझे यह जानने की जरूरत है कि एक महीने पहले एक टाइमस्टैम्प बनाने के लिए SQL क्वेरी में क्या उपयोग करना है। उदाहरण के लिए, अगर आज अक्टूबर 27, 2013 है, मैं क्वेरी सभी पंक्तियों जहां समय < 2013-09-27 00:00:00
"समय कॉलम प्रारूप 2013-10-27 06:53:12 प्रारूप में संग्रहीत है" - आपको एक ['टाइमस्टैम्प 'कॉलम] (http://www.postgresql.org/docs/current/interactive) का उपयोग करना चाहिए /datatype-datetime.html) इसके लिए, एक स्वरूपित स्ट्रिंग नहीं है, क्योंकि इससे चीजों को बहुत आसान और अधिक कुशल बना दिया जाएगा। – IMSoP
"30 दिन" "एक महीने" से अधिक सटीक है, और "बिल्कुल एक महीने" अनिवार्य रूप से व्यर्थ है। एसक्यूएल में, यदि आप 2013-03-28, 03-29, 03-30, और 03-31 से बिल्कुल एक महीने घटाते हैं, और आपको वही उत्तर मिलता है: 2013-02-28। क्या वो वजह बन रही हे? –
@IMSoP दुर्भाग्यवश, मेरे पास डेटाबेस संरचना पर नियंत्रण नहीं है। मैं एक क्वासेल आईआरसी कोर चला रहा हूं, और बैकलॉग तालिका में 18 मिलियन पंक्तियां क्लाइंट लोडिंग में धीरे-धीरे लोड हो रही हैं, इसलिए क्लाइंट स्थिरता को बनाए रखने के लिए मुझे हाल ही की पंक्तियों को संग्रहित करने की आवश्यकता है। –