# How to Pause Query Execution in PostgreSQL

> In PostgreSQL, various in-built functions like pg_sleep(), pg_sleep_until(), and pg_sleep_for() are used to pause or delay the query’s execution for a specific…

PostgreSQL provides various in-built functions to pause or delay the query’s execution for a specific period. For example, the **pg_sleep()** , **pg_sleep_until()** , and **pg_sleep_for()** are popularly used functions that allow us to pause the execution of a statement halfway. All the stated functions are very similar, but they work a little differently.

This blog will illustrate how to pause the query’s execution for a specific time period in PostgreSQL.

 **How to Pause Query Execution in PostgreSQL?**

In Postgres, the below-enlisted functions are used to pause the execution of a statement for a certain time period:

\- **Method 1:** pg_sleep()  
\- **Method 2:** pg_sleep_until()  
\- **Method 3:** pg_sleep_for()

 **How to Pause Query Execution pg_sleep() Function?**

In Postgres, the pg_sleep() function delays the query’s execution for a certain number of seconds:
    
    
    SELECT CLOCK_TIMESTAMP(),
    pg_sleep(2),
    CLOCK_TIMESTAMP(),
    pg_sleep(2),
    CLOCK_TIMESTAMP();

A delay of 2 seconds can be noticed in the execution time of each CLOCK_TIMESTAMP.

 **How to Pause Query Execution pg_sleep_until() Function?**

Postgres pg_sleep until() function accepts a sleep time as an argument and puts the query execution on sleep until the wake-up time reaches:
    
    
    SELECT CLOCK_TIMESTAMP(),
    pg_sleep_until('11:59:02.1234'),
    CLOCK_TIMESTAMP();

The output shows that the query’s execution resumes when the pg_sleep_until() reaches the specified time.

 **How to Pause Query Execution pg_sleep_for() Function?**

The pg_sleep_for() function accepts an interval as an argument and delays the query’s execution based on the specified interval. It is used to put larger delays between the query’s execution:
    
    
    SELECT CLOCK_TIMESTAMP(),
    pg_sleep_for('1 minute 05 seconds'),
    CLOCK_TIMESTAMP(),
    pg_sleep_for('1 minute 05 seconds'),
    CLOCK_TIMESTAMP();

This way, you can specify the larger delays between the query execution using the pg_sleep_for() function.

 **Conclusion**

In PostgreSQL, various in-built functions are used to pause or delay the query’s execution for a specific period. For example, the pg_sleep(), pg_sleep_until(), and pg_sleep_for() are frequently used functions that allow us to pause the query’s execution halfway. The pg_sleep_for() function is used to put larger delays between the query’s execution. This post has shown various methods to pause the query execution in PostgreSQL.

---
[View this page online](https://www.commandprompt.com/education/how-to-pause-query-execution-in-postgresql/)