Doppelte Zeilen aus der Tabelle ohne eindeutigen Schlüssel löschen

Wie lösche ich doppelte Zeilen in der Postgres 9-Tabelle? Die Zeilen sind in jedem Feld vollständig doppelt vorhanden UND es gibt kein einzelnes Feld, das als eindeutiger Schlüssel verwendet werden könnte. Ich kann also nicht einfachGROUP BY Spalten und verwenden Sie einNOT IN Erklärung

Ich suche nach einer einzelnen SQL-Anweisung, nicht nach einer Lösung, bei der ich eine temporäre Tabelle erstellen und Datensätze einfügen muss. Ich weiß, wie man das macht, aber es erfordert mehr Arbeit, um in meinen automatisierten Prozess zu passen.

Tabellendefinition:

jthinksearch=> \d releases_labels;
Unlogged table "discogs.releases_labels"
   Column   |  Type   | Modifiers
------------+---------+-----------
 label      | text    |
 release_id | integer |
 catno      | text    |
Indexes:
    "releases_labels_catno_idx" btree (catno)
    "releases_labels_name_idx" btree (label)
Foreign-key constraints:
    "foreign_did" FOREIGN KEY (release_id) REFERENCES release(id)

Beispieldaten

jthinksearch=> select * from releases_labels  where release_id=6155;
    label     | release_id |   catno
--------------+------------+------------
 Warp Records |       6155 | WAP 39 CDR
 Warp Records |       6155 | WAP 39 CDR

Antworten auf die Frage(10)

Ihre Antwort auf die Frage