PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana pg_sleep_for() Bekerja di PostgreSQL

Di PostgreSQL, Anda dapat menggunakan pg_sleep_for() berfungsi untuk menunda eksekusi untuk interval tertentu.

Itu membuat proses sesi saat ini tidur sampai interval yang ditentukan telah berlalu.

Penundaan tidur akan setidaknya selama yang ditentukan. Namun, ini bisa lebih lama bergantung pada faktor-faktor seperti beban server, serta resolusi efektif interval tidur platform Anda.

Sintaks

Sintaksnya seperti ini:

pg_sleep_for(interval)

Dimana interval adalah interval yang menentukan interval sebelum proses berlanjut.

Contoh

Berikut ini contoh untuk mendemonstrasikan penggunaannya.

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

Hasil (menggunakan keluaran vertikal):

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

Saya menggunakan clock_timestamp() dalam contoh ini, karena berubah selama eksekusi pernyataan. Hal ini memungkinkan kami untuk melihat nilai yang diperbarui seiring perkembangan pernyataan.

Saya menggunakan tampilan yang diperluas (kadang-kadang disebut sebagai "output vertikal") dalam contoh ini untuk memudahkan melihat hasilnya.

Anda dapat mengaktifkan tampilan yang diperluas di psql dengan menggunakan \x .

Nilai Negatif

Memberikan nilai negatif akan membuat pernyataan langsung berjalan.

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

Hasil (menggunakan keluaran vertikal):

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. 3 Cara Memformat Angka sebagai Persentase di PostgreSQL

  2. Hitung Maks Jumlah dari bidang beranotasi di atas yang dikelompokkan menurut kueri di Django ORM?

  3. Hapus beberapa array secara paralel

  4. cara menggunakan tipe data Blob di Postgres

  5. Bagaimana Tand() Bekerja di PostgreSQL