PostgreSQL में तीन फ़ंक्शन शामिल हैं जो आपको सर्वर प्रक्रिया के निष्पादन में देरी करने की अनुमति देते हैं। एक बयान का निष्पादन।
दूसरे शब्दों में, आप एक बयान चला सकते हैं और इसे अपने आनंदमय रास्ते पर जारी रखने से पहले आधा रास्ता रोक सकते हैं।
तीन कार्य हैं:
pg_sleep()
pg_sleep_for()
pg_sleep_until()
ये सभी बहुत समान हैं, लेकिन ये थोड़े अलग तरीके से काम करते हैं।
नीचे प्रत्येक के उदाहरण दिए गए हैं।
उदाहरण - pg_sleep()
pg_sleep()
फ़ंक्शन वर्तमान सत्र की प्रक्रिया को तब तक सुप्त अवस्था में रखता है जब तक कि निर्दिष्ट संख्या में सेकंड बीत नहीं जाते।
आप सेकंड को तर्क के रूप में निर्दिष्ट करते हैं। तर्क दोहरी सटीकता का मान है , ताकि यदि आवश्यक हो तो आप भिन्नात्मक सेकंड प्रदान कर सकते हैं।
\x
SELECT
clock_timestamp(),
pg_sleep(1),
clock_timestamp(),
pg_sleep(1),
clock_timestamp();
परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
clock_timestamp | 2020-06-28 16:18:25.645814+10 pg_sleep | clock_timestamp | 2020-06-28 16:18:26.706998+10 pg_sleep | clock_timestamp | 2020-06-28 16:18:27.768604+10
उदाहरण - pg_sleep_for()
pg_sleep_for()
फ़ंक्शन एक अंतराल के रूप में निर्दिष्ट बड़े सोने के समय के लिए एक सुविधा कार्य है।
SELECT
clock_timestamp(),
pg_sleep_for('2 minutes 10 seconds'),
clock_timestamp(),
pg_sleep_for('1 minute 5 seconds'),
clock_timestamp();
परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
clock_timestamp | 2020-06-28 16:20:04.218295+10 pg_sleep_for | clock_timestamp | 2020-06-28 16:22:14.222907+10 pg_sleep_for | clock_timestamp | 2020-06-28 16:23:19.294483+10
उदाहरण - pg_sleep_until()
pg_sleep_until()
फ़ंक्शन एक सुविधा फ़ंक्शन सुविधा फ़ंक्शन है जब एक विशिष्ट वेक-अप समय वांछित होता है।
SELECT
clock_timestamp(),
pg_sleep_until('today 16:25:15.1234'),
clock_timestamp();
परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
clock_timestamp | 2020-06-28 16:24:28.900319+10 pg_sleep_until | clock_timestamp | 2020-06-28 16:25:15.184042+10
देरी की सटीकता
इन कार्यों का उपयोग करते समय, वास्तविक समय विलंब सर्वर के गतिविधि स्तर के आधार पर निर्दिष्ट समय से भिन्न हो सकता है। हालांकि, नींद में देरी कम से कम निर्दिष्ट समय तक होगी।
विशेष रूप से, pg_sleep_until
निश्चित समय पर जागने की गारंटी नहीं है, लेकिन यह पहले नहीं जागेगा।