hannu at skype.net hannu
Mon Oct 18 23:30:30 PDT 2004
> You can find the violating rows using
>
> select starelid, staattnum, count(*) from pg_statistic group by 1,2 having
> count(*) > 1;
>
> and then find out the one to delete by
>
> select oid, * from pg_statistic where starelid=XX and staattnum=YY;
>
> and then delete one of the rows doing
>
> delete from pg_statistic where oid=OO;

sorry - should try before posting

It appeard that pg_statistic is one of these oidless tables.

use ctid instead oid .

select ctid from pg_statistic where starelid=1247 and staattnum=1;

delete from pg_statistic where starelid=1247 and staattnum=1 and
ctid='(3,1)';

------------------
Hannu



More information about the Slony1-general mailing list