PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak działa pg_sleep_for() w PostgreSQL

W PostgreSQL możesz użyć pg_sleep_for() funkcja opóźniająca wykonanie o zadany interwał.

Powoduje uśpienie procesu bieżącej sesji, aż upłynie określony czas.

Opóźnienie snu wyniesie co najmniej tak długo, jak określono. Może to jednak być dłuższe w zależności od takich czynników, jak obciążenie serwera, a także efektywna rozdzielczość interwału uśpienia Twojej platformy.

Składnia

Składnia wygląda tak:

pg_sleep_for(interval)

Gdzie interval to przedział, który określa przedział czasu przed kontynuowaniem procesu.

Przykład

Oto przykład demonstrujący jego użycie.

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

Wynik (przy użyciu wyjścia pionowego):

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

Użyłem clock_timestamp() w tym przykładzie, ponieważ zmienia się podczas wykonywania instrukcji. Dzięki temu możemy zobaczyć zaktualizowane wartości w miarę postępów w instrukcji.

Użyłem rozszerzonego wyświetlania (czasami określanego jako „wyjście pionowe”) w tym przykładzie, aby ułatwić zobaczenie wyniku.

Możesz przełączać rozszerzone wyświetlanie w psql za pomocą \x .

Wartości ujemne

Podanie wartości ujemnej spowoduje natychmiastowe uruchomienie instrukcji.

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

Wynik (przy użyciu wyjścia pionowego):

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. Koszt bezpłatnej reklamy PostgreSQL

  2. Problemy z createdb w postgres

  3. Wywołanie funkcji PostgreSQL

  4. Pobrać rozmiar dużego obiektu w zapytaniu PostgreSQL?

  5. Jak ustawić limit czasu instrukcji dla wykonania zapytania