Revision 81,
1.5 KB
checked in by frank.jaeger, 13 years ago
(diff) |
ALKIS-Auskunft überarbeitet
|
Rev | Line | |
---|
[81] | 1 | #!/bin/bash
|
---|
| 2 | echo "* =================================================================="
|
---|
| 3 | echo "* Bereinigung 'doppelte Objekte' in den Tabellen der ALKIS-Datenbank"
|
---|
| 4 | echo "* =================================================================="
|
---|
| 5 | ## Z.B. nachdem eine NAS-Datei doppelt konvertiert wurde.
|
---|
| 6 | ## Die Tabellen werden jeweils mit sich selbst verglichen.
|
---|
| 7 | ## Wenn eine "gml_id" doppelt ist, dann wird der Eintrag mit dem groesseren serial "ogc_fid" geloescht.
|
---|
| 8 | ## Warnung: Bei grossen Datenbanken erzeugt dies Script fuer laengere Zeit eine hohe Last auf dem DB-Server!!
|
---|
| 9 | ## Stand 03.02.2011
|
---|
| 10 | #
|
---|
| 11 | # Konfig:
|
---|
| 12 | # -------
|
---|
| 13 | port="5432" # 5432 PG 8.3 main/UTF
|
---|
| 14 | db="alkis05300" # Datenbank-Name
|
---|
| 15 | #
|
---|
| 16 | # Hilfs-Variable
|
---|
| 17 | # --------------
|
---|
| 18 | mylist="/data/bkup/${db}_tablenames"
|
---|
| 19 | myselect="SELECT tablename FROM pg_tables WHERE schemaname = 'public' AND tablename like 'ax_%' ORDER BY tablename;"
|
---|
| 20 | #
|
---|
| 21 | # Here we go ....
|
---|
| 22 | # ---------------
|
---|
| 23 | echo "Datenbank : " $db
|
---|
| 24 | echo "Liste : " $mylist
|
---|
| 25 | #echo "** Liste der Tabellen erzeugen"
|
---|
| 26 | echo $myselect | psql -t -h localhost -p $port -d ${db} > ${mylist}
|
---|
| 27 | for tabname in `cat $mylist`
|
---|
| 28 | do
|
---|
| 29 | echo " "
|
---|
| 30 | echo " * Tabelle $tabname "
|
---|
| 31 | mysql="DELETE FROM $tabname AS dublette WHERE EXISTS (SELECT solitaer.gml_id FROM $tabname AS solitaer WHERE solitaer.gml_id = dublette.gml_id AND dublette.ogc_fid > solitaer.ogc_fid);"
|
---|
| 32 | echo $mysql | psql -t -h localhost -p $port -d ${db}
|
---|
| 33 | echo "-----------------------------"
|
---|
| 34 | done
|
---|
| 35 | ##
|
---|
| 36 | echo "** fertig! (vaccuum empfohlen)"
|
---|
Note: See
TracBrowser
for help on using the repository browser.