Stephan,
That's very interesting! I didn't even know about these other "hidden"
fields. How many others are there?
You're right about the xmin value. It's the same for all the dups. That
could have saved me a lot of work. I built a perl script to locate the
dups, pull the data, re-insert it, and then delete by old OID.
What is the 'ctid' field about? It's wierd.
For that matter, what is 'xmin'???
Stephan Szabo wrote:
> On Sun, 5 Jan 2003, Jack Flak wrote:
>
>> Greetings Group,
>>
>> I'm running 7.1.
>>
>> Basically, my question is this: how do I delete an exact dup without
>> deleting the original?
>
> You can use one of the other hidden fields. ctid will be unique for the
> various rows, but I'm not sure of a good way to bulk delete them (tids
> don't seem to have comparison operators so the normal ways I can think of
> don't work).
>
> If all of the new rows were added by a single transaction (through copy
> say) you'd probably be able to delete all the rows added by that
> transaction using the xmin column. Find the xmin belonging to those rows
> and delete all the rows having that xmin.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>