Ich versuche, einige alte MySQL-Abfragen auf PostgreSQL zu portieren, aber ich habe Probleme mit dieser:
DELETE FROM logtable ORDER BY timestamp LIMIT 10;
PostgreSQL erlaubt keine Reihenfolge oder Einschränkungen in seiner Löschsyntax, und die Tabelle hat keinen Primärschlüssel, sodass ich keine Unterabfrage verwenden kann. Außerdem möchte ich das Verhalten beibehalten, bei dem die Abfrage genau die angegebene Anzahl oder Datensätze löscht. Wenn die Tabelle beispielsweise 30 Zeilen enthält, aber alle denselben Zeitstempel haben, möchte ich trotzdem 10 löschen, obwohl dies keine Rolle spielt welche 10.
So; Wie lösche ich eine feste Anzahl von Zeilen mit Sortierung in PostgreSQL?
Bearbeiten: Kein Primärschlüssel bedeutet, dass keine log_id
Spalte oder ähnliches vorhanden ist. Ah, die Freuden älterer Systeme!
alter table foo add column id serial primary key
.