Re: Mehrfacheinträge in Tabelle Korrigieren

From: Armin Barth <armin(dot)barth(at)pumpen-barth(dot)de>
To: Andreas Kretschmer <akretschmer(at)internet24(dot)de>
Cc: pgsql-de-allgemein <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Mehrfacheinträge in Tabelle Korrigieren
Date: 2011-01-26 13:35:27
Message-ID: 1296048927.22152.21.camel@jupiter
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo Andreas,
es hat auch mit der Originaltabelle funktioniert.
(mit Sicherheitskopie vorher)
669 Datensätze sind auf 219 zusammengeschmolzen.

Leider mag die Umstellungs-SQL-Anweisung von Lx-Office
mein Tabelle immer noch nicht, da angeblich immer noch
doppelte Werte vorhanden sind.
Ich suche weiter und werde mal die SQL-Anweisung inspizieren,
wo nach diese die Unterscheidungsmerkmale trifft.

Sicher wäre ein PK hier sinnvoller gewesen.
Das soll ja nun offensichtlich beim Update nachgeholt werden.

Offen sichtlich sind es folgende Datensätze, die sich jedoch in der
Spalte 'description' und 'price' unterscheiden.

ctid | trans_id | parts_id | id | itime |
mtime
--------+----------+----------+-----+----------------------------+----------------------------
(1,29) | 3322 | 3311 | 10 | 2008-01-07 10:42:24.546097 |
2008-08-13 08:05:26.049818
(5,12) | 3322 | 3311 | 10 | 2008-01-07 10:42:24.546097 |
2008-08-20 06:57:03.763137
(1,30) | 3322 | 3316 | 11 | 2008-01-07 10:42:24.546097 |
2008-08-13 08:05:26.049818
(0,11) | 3322 | 3316 | 11 | 2008-01-07 10:42:24.546097 |
2008-08-20 06:57:03.763137
(1,31) | 3322 | 3318 | 12 | 2008-01-07 10:42:24.546097 |
2008-08-13 08:05:26.049818
(2,24) | 3322 | 3318 | 12 | 2008-01-07 10:42:24.546097 |
2008-08-20 06:57:03.763137

Hier wird mit als Anwender wohl nichts anders übrig bleiben, als mich zu
entscheiden, welchen der beiden Dubletten ich weiter verwenden will.

Oder?

> >
> >>
> >> 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.
>
> Es ist ein Designfehler, wenn da kein PK ist und daher Dubletten auftauchen.
>
> > Die Lösung ist wichtig.
>
> ACK.
> >
> > Das mit dem 'ctid' ist mir neu
> > Was ist das -- finde ich in meinem Postgresql-Buch nicht.
> > Ist das nur eine temporärer Index?
>
> Warum schaust nicht mal in die offizielle Online-Doku und nutzt deren
> Suchfunktion?
>
> the current tuple ID (CTID). This is a system column containing the file
> block number and position in the block for the row.
>
Danke für den Hinweis. Mit den System Columns hatte ich bisher nichts zu
tun. Nun weiß ich mehr.
>
>
> > Denn bei 'SELECT * FROM bla;' taucht er nicht auf.
>
> Ja, wenn Du nicht ctid,* abfragst, bekommst die Spalte auch nicht zu
> sehen. Sie ist aber in jeder Tabelle vorhanden, und noch weitere. Die
> Doku kennt sie alle ...
>
> >
> > Ich melde mich noch mal, wenn ich es mit der Originaltabelle versucht
> > habe.
>
> Ich werf da mal noch ein Reizwort in den Raum: Backup.
>
s.o. -- habe ich berücksichtig
>
> Btw.: wir hosten hier auch PostgreSQL ;-)
>

--
Armin Barth <armin(dot)barth(at)pumpen-barth(dot)de>

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Joby Joba 2011-01-28 12:17:56 WARNING: transaction log file "000000010000000000000085" could not be archived: too many failures
Previous Message Harald Armin Massa 2011-01-26 08:47:46 Re: [pgsql-de-allgemein] Mehrfacheinträge in Tabelle Korrigieren