sql >> Databáze >  >> RDS >> PostgreSQL

Jak funguje pg_sleep_for() v PostgreSQL

V PostgreSQL můžete použít pg_sleep_for() funkce pro zpoždění spuštění pro daný interval.

Přepne proces aktuální relace do režimu spánku, dokud neuplyne zadaný interval.

Zpoždění spánku bude nejméně tak dlouho, jak je uvedeno. Může však být delší v závislosti na faktorech, jako je zatížení serveru a také efektivní rozlišení intervalu spánku vaší platformy.

Syntaxe

Syntaxe vypadá takto:

pg_sleep_for(interval)

Kde interval je interval, který určuje interval před pokračováním procesu.

Příklad

Zde je příklad, který demonstruje jeho použití.

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

Výsledek (při použití vertikálního výstupu):

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

Použil jsem clock_timestamp() v tomto příkladu, protože se mění během provádění příkazu. To nám umožňuje vidět aktualizované hodnoty v průběhu příkazu.

V tomto příkladu jsem použil rozšířené zobrazení (někdy označované jako „vertikální výstup“), aby bylo snazší vidět výsledek.

Rozšířené zobrazení v psql můžete přepínat pomocí \x .

Záporné hodnoty

Zadání záporné hodnoty bude mít za následek okamžité spuštění příkazu.

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

Výsledek (při použití vertikálního výstupu):

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. Jak přepnout databáze v postgresu?

  2. Jak opravit adresu URL poskytovatele obsahu, která nebyla nalezena v poskytovateli obsahu pro Android?

  3. Výkon SQL Server IN vs. EXISTS

  4. Typ MySQL ENUM vs. tabulky spojení