PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách pg_sleep_for () hoạt động trong PostgreSQL

Trong PostgreSQL, bạn có thể sử dụng pg_sleep_for() chức năng trì hoãn việc thực thi trong một khoảng thời gian nhất định.

Nó làm cho quy trình của phiên hiện tại ở chế độ ngủ cho đến khi hết khoảng thời gian được chỉ định.

Thời gian trễ ngủ sẽ ít nhất là miễn là được chỉ định. Tuy nhiên, thời gian có thể lâu hơn tùy thuộc vào các yếu tố như tải máy chủ, cũng như cách giải quyết khoảng thời gian nghỉ hiệu quả của nền tảng của bạn.

Cú pháp

Cú pháp như sau:

pg_sleep_for(interval)

Vị trí interval là khoảng thời gian xác định khoảng thời gian trước khi quá trình tiếp tục.

Ví dụ

Dưới đây là một ví dụ để chứng minh cách sử dụng của nó.

\x
SELECT 
  clock_timestamp(),
  pg_sleep_for('2 minutes 10 seconds'),
  clock_timestamp(),
  pg_sleep_for('1 minute 5 seconds'),
  clock_timestamp();

Kết quả (sử dụng đầu ra dọc):

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

Tôi đã sử dụng clock_timestamp() trong ví dụ này, vì nó thay đổi trong quá trình thực thi câu lệnh. Điều này cho phép chúng tôi xem các giá trị được cập nhật khi câu lệnh tiến triển.

Tôi đã sử dụng màn hình mở rộng (đôi khi được gọi là "đầu ra theo chiều dọc") trong ví dụ này để giúp bạn dễ dàng xem kết quả hơn.

Bạn có thể chuyển đổi hiển thị mở rộng trong psql bằng cách sử dụng \x .

Giá trị phủ định

Việc cung cấp giá trị âm sẽ dẫn đến câu lệnh chạy ngay lập tức.

SELECT 
  clock_timestamp(),
  pg_sleep_for('-2 minutes 10 seconds'),
  clock_timestamp(),
  pg_sleep_for('-1 minute 5 seconds'),
  clock_timestamp();

Kết quả (sử dụng đầu ra dọc):

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. Cách hoạt động của hàm Power () trong PostgreSQL

  2. PostgreSQL 9.1:Cách nối các hàng trong mảng mà không có bản sao, THAM GIA một bảng khác

  3. Truy vấn JSON lồng nhau PostgreSQL

  4. Phân tích thống kê bảng PostgreSQL

  5. Tổng hợp các cột với các bộ lọc bổ sung (riêng biệt)