Seitenhistorie
...
Nun muss der aktuelle Wert der idfactory-Sequenz auf beiden Datenbanken festgestellt werden. Dies kann mit einem Toool wie pgadmin festgestelltwerden oder mit der Query:
Codeblock | ||
---|---|---|
| ||
SELECT last_value FROM idfactory; |
...
Als neuer Startpunkt für die Neunummerierung der IDs soll der höhere der beiden Werte + 1 verwendet werden. Dafür wird folgendes Statement auf dem Zielsystem (dazu muss eines der beiden Systeme bestimmt werden) ausgeführt.
Codeblock | ||
---|---|---|
| ||
ALTER SEQUENCE idfactory RESTART with <neuer Startwert>; |
...
Sollten auf dem Quellsystem fehlende Dokumente (das heißt Referenzen auf nicht existierende Dokumente) existieren, sind diese zunächst zu löschen
Codeblock | ||
---|---|---|
| ||
DELETE FROM polymedics.t_md_importfile WHERE struid_documentfile = 'null'; DELETE FROM polymedics.t_ud_go_document WHERE struid_t_ud_documentfile = 'null'; DELETE FROM polymedics.t_ud_documentfile WHERE struid = 'null'; |
...
Mit einem weiteren Aufruf werden die verbliebenen Daten (Tabellen sowohl Konfigurations- als auch Userdaten enthalten) exportiert. Diese werden als INSERT-Statements in die Zieldatei geschrieben. Damit ist ein Überspringen bereits existierender Zeilen beim Import möglich, dafür dauert der Im- und Export wesentlich länger als mit COPY-Statements.
Codeblock | ||
---|---|---|
| ||
/usr/bin/pg_dump --file "more_exported_data.sql" --host "<db host>" --port "<db port>" [--username "<connect with db user>"] [--no-password] --verbose --format=p --blobs --data-only --no-owner --no-privileges --no-tablespaces --no-unlogged-table-data --no-comments --inserts --on-conflict-do-nothing --schema "<schema_name>" -t <schema_name>.t_md_workspace -t "<schema_name>.t_md_preference*" "<schema_name>.t_ud_print*" "<db name>" |
...
Schließlich können die exportierten Daten mit folgenden Befehlen importiert werden.
Codeblock | ||
---|---|---|
| ||
psql [-U "<connect with db user>"] -a -v ON_ERROR_STOP=1 -f my_exported_data.sql <DB-name> psql [-U "<connect with db user>"] -a -v ON_ERROR_STOP=1 -f more_exported_data.sql <DB-name> |
...