Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-de-allgemein by date

Next:From: Harald Armin MassaDate: 2011-01-26 08:47:46
Subject: Re: [pgsql-de-allgemein] Mehrfacheinträge in Tabell?==?UTF-8?Q?e Korrigieren
Previous:From: Armin BarthDate: 2011-01-26 06:32:39
Subject: Re: Mehrfacheinträge in Tabelle Korrigieren

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group