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

Cách tạm dừng việc thực thi một câu lệnh trong PostgreSQL

PostgreSQL bao gồm ba chức năng cho phép bạn trì hoãn quá trình thực thi máy chủ. việc thực hiện một câu lệnh.

Nói cách khác, bạn có thể chạy một câu lệnh và để câu lệnh đó tạm dừng giữa chừng, trước khi tiếp tục hành trình vui vẻ.

Ba chức năng là:

  • pg_sleep()
  • pg_sleep_for()
  • pg_sleep_until()

Tất cả chúng đều rất giống nhau, nhưng chúng hoạt động theo những cách hơi khác nhau.

Dưới đây là các ví dụ về từng cái.

Ví dụ - pg_sleep ()

pg_sleep() hàm làm cho quy trình của phiên hiện tại ở chế độ ngủ cho đến khi trôi qua một số giây cụ thể.

Bạn chỉ định giây làm đối số. Đối số là giá trị của độ chính xác kép , vì vậy bạn có thể cung cấp giây phân số nếu được yêu cầu.

\x
SELECT 
  clock_timestamp(),
  pg_sleep(1),
  clock_timestamp(),
  pg_sleep(1),
  clock_timestamp();

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

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

Ví dụ - pg_sleep_for ()

pg_sleep_for() chức năng là một chức năng thuận tiện cho thời gian ngủ lớn hơn được chỉ định như một khoảng thời gian.

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 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

Ví dụ - pg_sleep_until ()

pg_sleep_until() chức năng là một chức năng tiện lợi chức năng tiện lợi khi bạn muốn một thời gian thức dậy cụ thể.

SELECT 
  clock_timestamp(),
  pg_sleep_until('today 16:25:15.1234'),
  clock_timestamp();

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

clock_timestamp | 2020-06-28 16:24:28.900319+10
pg_sleep_until  |
clock_timestamp | 2020-06-28 16:25:15.184042+10

Độ chính xác của độ trễ

Khi sử dụng các chức năng này, thời gian trễ thực tế có thể thay đổi so với thời gian được chỉ định tùy thuộc vào mức độ hoạt động của máy chủ. Tuy nhiên, thời gian trễ ngủ ít nhất sẽ kéo dài như được chỉ định.

Đặc biệt, pg_sleep_until không được đảm bảo sẽ thức dậy chính xác vào thời gian được chỉ định, nhưng nó sẽ không thức dậy sớm hơn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Biểu mẫu Django để truy vấn cơ sở dữ liệu (các mô hình)

  2. pgAdmin Alternatives - PostgreSQL Database Management GUI ClusterControl

  3. Cách duy trì dữ liệu trong cơ sở dữ liệu postgres dày đặc bằng cách sử dụng khối lượng

  4. Cách Mod () hoạt động trong PostgreSQL

  5. fe_sendauth:không cung cấp mật khẩu