Skip to content

PostgreSQL de

UlysselaGlisse edited this page Oct 12, 2024 · 3 revisions

Datenbankschichten ersetzen:

Bei Problemen ist es möglich, die Segments- und Compositions-Schichten der Datenbank schnell zu ersetzen.

Windows

  • 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;

Linux

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.

Sichern und Wiederherstellen (Linux)

Den gesamten Server sichern:

  • Datenbank stoppen:

sudo systemctl stop postgresql

  • Datenbank kopieren:

sudo cp -R /var/lib/postgresql/16/main /wohin/kopieren

Wiederherstellen:

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

Eine Datenbank sichern:

  • 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

Clone this wiki locally