PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

कैसे pg_sleep_for () PostgreSQL में काम करता है

PostgreSQL में, आप pg_sleep_for() . का उपयोग कर सकते हैं किसी दिए गए अंतराल के लिए निष्पादन में देरी करने के लिए कार्य।

यह वर्तमान सत्र की प्रक्रिया को तब तक सुप्त अवस्था में रखता है जब तक कि निर्दिष्ट अंतराल समाप्त नहीं हो जाता।

नींद में देरी कम से कम होगी जब तक निर्दिष्ट है। हालांकि, यह सर्वर लोड जैसे कारकों के साथ-साथ आपके प्लेटफ़ॉर्म के स्लीप इंटरवल के प्रभावी समाधान के आधार पर लंबा हो सकता है।

सिंटैक्स

वाक्य रचना इस प्रकार है:

pg_sleep_for(interval)

जहां interval एक अंतराल है जो प्रक्रिया जारी रहने से पहले अंतराल को निर्दिष्ट करता है।

उदाहरण

इसके उपयोग को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

\x
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 15:14:26.53039+10
pg_sleep_for    |
clock_timestamp | 2020-06-28 15:16:36.595837+10
pg_sleep_for    |
clock_timestamp | 2020-06-28 15:17:41.671152+10

मैंने clock_timestamp() का उपयोग किया है इस उदाहरण में, क्योंकि यह कथन निष्पादन के दौरान बदलता है। यह हमें स्टेटमेंट के आगे बढ़ने पर अपडेट किए गए मानों को देखने की अनुमति देता है।

मैंने इस उदाहरण में विस्तारित प्रदर्शन (कभी-कभी "ऊर्ध्वाधर आउटपुट" के रूप में संदर्भित) का उपयोग किया ताकि परिणाम देखना आसान हो सके।

आप \x . का उपयोग करके psql में विस्तारित डिस्प्ले को टॉगल कर सकते हैं ।

नकारात्मक मान

ऋणात्मक मान प्रदान करने के परिणामस्वरूप स्टेटमेंट तुरंत चल जाएगा।

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-29 09:01:09.468232+10
pg_sleep_for    |
clock_timestamp | 2020-06-29 09:01:09.468291+10
pg_sleep_for    |
clock_timestamp | 2020-06-29 09:01:09.468297+10

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या PostgreSQL उच्चारण असंवेदनशील कॉलेशन का समर्थन करता है?

  2. प्राथमिक कुंजी उल्लंघन त्रुटि के बाद लेनदेन जारी रखना

  3. चयन * कथन में कॉलम ऑर्डर - गारंटीकृत?

  4. पोर्ट 5432 अवरुद्ध होने पर pg_dump दूरस्थ सर्वर से डेटाबेस पोस्टग्रेज करता है

  5. आपको PostgreSQL क्यों सीखना चाहिए?