AW: [pgsql-de-allgemein] Mehrfacheinträge in Tabelle Korrigieren

From: Andreas Gaab <A(dot)Gaab(at)scanlab(dot)de>
To: 'Armin Barth' <armin(dot)barth(at)pumpen-barth(dot)de>
Cc: "pgsql-de-allgemein(at)postgresql(dot)org" <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: AW: [pgsql-de-allgemein] Mehrfacheinträge in Tabelle Korrigieren
Date: 2011-01-26 08:04:20
Message-ID: 48DA836F3865C54B8FBF424A3B775AF60132434B3E@Exchange-Server
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

http://www.postgresql.org/docs/8.4/static/ddl-system-columns.html

Gruss

-----Ursprüngliche Nachricht-----
Von: pgsql-de-allgemein-owner(at)postgresql(dot)org [mailto:pgsql-de-allgemein-owner(at)postgresql(dot)org] Im Auftrag von Armin Barth
Gesendet: Mittwoch, 26. Januar 2011 07:33
An: Andreas Kretschmer
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Betreff: Re: [pgsql-de-allgemein] Mehrfacheinträge in Tabelle Korrigieren

Hallo Andreas,
danke für deine schnelle Antwort.

>
> Als erstes solltest Du die Macher der Software kräftig treten.
>
Habe ich schon versucht, aber die schütteln sich nur und behaupten es
wäre ein Anwenderfehler.
Wie auch immer.
Die Lösung ist wichtig.
Also mit der Test-Tabelle habe ich es gerade versucht - klapp wunder
bar.
Nochmals DANKE !

> Zu Deiner Frage:
>
> test=# select * from bla;
> a | b | c
> ---+---+---
> 1 | 1 | 1
> 1 | 2 | 3
> 1 | 2 | 2
> 1 | 3 | 4
> 1 | 2 | 3
> 1 | 1 | 1
> (6 Zeilen)
>
> Zeit: 0,165 ms
> test=*# select distinct on (a,b,c) ctid, a,b,c from bla;
> ctid | a | b | c
> -------+---+---+---
> (0,1) | 1 | 1 | 1
> (0,3) | 1 | 2 | 2
> (0,2) | 1 | 2 | 3
> (0,4) | 1 | 3 | 4
> (4 Zeilen)
>

Das mit dem 'ctid' ist mir neu
Was ist das -- finde ich in meinem Postgresql-Buch nicht.
Ist das nur eine temporärer Index?
Denn bei 'SELECT * FROM bla;' taucht er nicht auf.

> Zeit: 0,286 ms
> test=*# delete from bla where (ctid, a,b,c) not in (select distinct on
> (a,b,c) ctid, a,b,c from bla);
> DELETE 2
> Zeit: 33,910 ms
> test=*# select * from bla;
> a | b | c
> ---+---+---
> 1 | 1 | 1
> 1 | 2 | 3
> 1 | 2 | 2
> 1 | 3 | 4
> (4 Zeilen)
>
> Zeit: 0,220 ms
>
>
>
> Andreas
> --
> Really, I'm not out to destroy Microsoft. That will just be a completely
> unintentional side effect. (Linus Torvalds)
> "If I was god, I would recompile penguin with --enable-fly." (unknown)
> Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
>

Ich melde mich noch mal, wenn ich es mit der Originaltabelle versucht
habe.
Gruß
Armin
--
Armin Barth <armin(dot)barth(at)pumpen-barth(dot)de>

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein(at)postgresql(dot)org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Harald Armin Massa 2011-01-26 08:47:46 Re: [pgsql-de-allgemein] Mehrfacheinträge in Tabelle Korrigieren
Previous Message Armin Barth 2011-01-26 06:32:39 Re: Mehrfacheinträge in Tabelle Korrigieren