Date & Time

CLOCK_TIMESTAMP

PostgreSQLPostgreSQL

Mengembalikan timestamp aktual saat fungsi dipanggil. Berbeda dengan NOW/CURRENT_TIMESTAMP yang tetap sama dalam satu transaksi.

Tipe hasil: timestamp with time zone

Syntax

SQL
CLOCK_TIMESTAMP()

Parameter

Fungsi ini tidak memerlukan parameter.

Contoh Penggunaan

Timestamp Real-time

SQL
1SELECT
2 CLOCK_TIMESTAMP() AS call_1,
3 pg_sleep(1),
4 CLOCK_TIMESTAMP() AS call_2;

CLOCK_TIMESTAMP berubah setiap pemanggilan.

Hasil
call_1call_2
2024-01-15 14:30:45.0012024-01-15 14:30:46.002

NOW vs CLOCK_TIMESTAMP

SQL
1SELECT
2 NOW() AS transaction_time,
3 CLOCK_TIMESTAMP() AS actual_time
4FROM generate_series(1, 3);

NOW tetap sama, CLOCK_TIMESTAMP berbeda setiap row.

Hasil
transaction_timeactual_time
2024-01-15 14:30:452024-01-15 14:30:45.001
2024-01-15 14:30:452024-01-15 14:30:45.002
2024-01-15 14:30:452024-01-15 14:30:45.003

Logging Execution Time

SQL
1INSERT INTO process_logs (step, timestamp)
2VALUES
3 (Start, CLOCK_TIMESTAMP()),
4 (Processing, CLOCK_TIMESTAMP()),
5 (End, CLOCK_TIMESTAMP());

Logging dengan timestamp berbeda per step.