-
Notifications
You must be signed in to change notification settings - Fork 0
PostgreSQL de
Bei Problemen ist es möglich, die Segments- und Compositions-Schichten der Datenbank schnell zu ersetzen.
- In Pgadmin4 oder in Qgis > Explorer > PostgreSQL > "Datenbankname" > Rechtsklick > SQL ausführen
TRUNCATE TABLE compositions, segments;
ALTER TABLE compositions
DISABLE TRIGGER ALL;
ALTER TABLE segments
DISABLE TRIGGER ALL;
- In einem Terminal:
ogr2ogr -f PostgreSQL "PG:user=postgres password=postgres dbname=test" /pfad/zu/Routen/Land/Land_Compositions.geojson &&
ogr2ogr -f PostgreSQL "PG:user=postgres password=postgres dbname=test" /pfad/zu/Routen/Land/Land_Segments.geojson
❗Denken Sie daran, den Datenbanknamen und die Pfade zu den Schichten zu ändern
- In Pgadmin4 oder Qgis:
-- Trigger wieder aktivieren
ALTER TABLE compositions
ENABLE TRIGGER ALL;
ALTER TABLE segments
ENABLE TRIGGER ALL;
-- Fügen Sie zum ersten Mal eine Geometrie in die Compositions-Schicht ein.
WITH
a AS (SELECT compositions.id, st_collect(segments.geom) AS geom
FROM compositions, UNNEST(segments) AS iti
JOIN segments ON segments.id = iti
GROUP BY compositions.id)
UPDATE compositions
SET geom = a.geom
FROM a
WHERE a.id = compositions.id;
Mit einem Bash-Skript:
-
Rechtsklick auf /Codes/update_data_from_backup.bash > Eigenschaften > Als Programm ausführbar
-
Öffnen Sie das Skript und überprüfen Sie die ersten beiden Variablen:
db="datenbank_name"
ordner="/pfad/zum/backup"
Zum Ausführen:
- Rechtsklick > Als Programm ausführen.
- Datenbank stoppen:
sudo systemctl stop postgresql
- Datenbank kopieren:
sudo cp -R /var/lib/postgresql/16/main /wohin/kopieren
sudo cp -R /pfad/zum/backup /var/lib/postgresql/16/
- Besitzer ändern:
sudo chown -R postgres:postgres /var/lib/postgresql/16/main
- Dienst neu starten:
sudo systemctl start postgresql
- Exportieren:
pg_dump -U postgres gpx > /pfad/zum/speichern/backup_tabelle_xxx.sql
- Wiederherstellen:
psql -h localhost -U postgres -d gpx -f /pfad/zum/speichern/backup_tabelle_xxx.sql