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() в този пример, защото се променя по време на изпълнение на оператор. Това ни позволява да видим актуализираните стойности с напредването на изявлението.

Използвах разширен дисплей (понякога наричан „вертикален изход“) в този пример, за да улесня виждането на резултата.

Можете да превключвате разширеното показване в psql, като използвате \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-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. Използване на съединения за комбиниране на данни от различни таблици в PostgreSQL

  3. Грешка при миграция на Django:Колоната не съществува

  4. 2 начина за връщане на редове, които съдържат небуквени и цифрови знаци в PostgreSQL

  5. Как да закръглим до най-близките X минути с PL/pgSQL?