2016-06-03 8 views
2

Ich versuche auf Daten aus einer Tabelle zuzugreifen, die Daten 30 Sekunden von der aktuellen Zeit erstellt oder aktualisiert wurde. Hat jemand eine gute Idee, wie man das effizient macht? Ich benutze node.js und pg Paket in npm. Ich möchte die neu erstellten/aktualisierten Daten mit elasticsearch synchronisieren.So erhalten Sie Daten, die erstellt oder aktualisiert wurdenAm 30 Sekunden von der aktuellen Zeit PostgreSQL

+0

Haben Sie eine 'timestamp' Spalte, speichert die Zeit der Erstellung einer Zeile? –

+0

@a_horse_with_no_name Ich habe Spalten mit createdAt und UpdatedAt, Wie auch immer ich bin mir nicht sicher, wie man die Zeilen, die vor 30 Sekunden erstellt wurden, aus der Zeit jetzt. – guyforlowbro

Antwort

3

Die Zeilen, die genau 30 Sekunden erstellt vor wurden:

select * 
from the_table 
where createdat = current_timestamp - interval '30' second 

Die Zeilen, die zwischen 30 Sekunden vor und jetzt erstellt wurden:

select * 
from the_table 
where createdat >= current_timestamp - interval '30' second 
+0

Was ist der Unterschied zwischen beiden? Tun sie nicht dasselbe? – guyforlowbro

+0

@jamestwiggle: schau genau '=' vs. '> =' –

+0

Ich verstehe jetzt danke! – guyforlowbro

Verwandte Themen