Setelah - Saya tidak tahu apa yang terjadi - semua entri saya di tabel PostGIS saya digandakan! Saya mencoba ini untuk menghapusnya tetapi tidak menghapus semua / semua duplikat:
DELETE FROM planet_osm_point
WHERE osm_id NOT IN (SELECT min(osm_id)
FROM planet_osm_point
GROUP BY osm_id)
atau ini:
DELETE FROM planet_osm_point
WHERE osm_id NOT IN (
select max(dup.osm_id)
from planet_osm_point as dup
group by way);
EDIT:
Saya akhirnya menemukan cara mudah, yang berfungsi dalam kasus saya:
DELETE FROM planet_osm_point WHERE ctid NOT IN
(SELECT max(ctid) FROM planet_osm_point GROUP BY osm_id);
ditemukan di halaman ini: http://technobytz.com/most-useful-postgresql-commands.html
ctid
pendekatan ini . Kolom ini telah ditambahkan secara manual setelah acara duplikasi?
planet_osm_point
struktur tabel saat ini? berarti jenis kolom. Anda dapat menulis kode Python dasar untuk mengumpulkan kolom yang dipilih, jika mengalami kesulitan dengan fungsi SQL.