Announcement

Collapse
No announcement yet.

PostgreSQL - Schema-Inhalte kopieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PostgreSQL - Schema-Inhalte kopieren

    Hallo,

    weiß jemand eine Möglichkeit in einer PostgreSQL-Datenbank nur die Daten-Inhalte (keine Definitionen) von einem Schema in ein anderes Schema zu kopieren?

    Hintergrund: Für automatische Tests brauche ich immer die gleiche Datenbasis, daher habe ich eine Datenbank mit 2 Schemata angelegt. In dem einen Schema ist der Originalzustand abgelegt, auf dem anderen Schema läuft der automatische Tests.
    Vor jedem Test-Lauf wird das 2. Schema gelöscht und auf Basis des 1. Schemas neu angelegt. Das dauert aber relativ lange ca. 10 Minuten.

    Ich habe bereits mit pg_dump und --data-only bzw. --schema-only experimentiert, aber bei spätestens bei pg_restore und --data-only hagelt es Fehlermeldungen.

  • #2
    Hi,

    ich kenn postgres jetzt nicht persönlich, aber wäre es eine Möglichkeit, sich ein kleines Skript zu schreiben welches per Cursor die Systemtabellen abfrägt und in einer Schleife für jede Tabelle des Zielschemas ein
    Code:
    INSERT INTO ziel_tabelle SELECT * FROM schema.quell_tabelle
    macht? Die Tabellen müssten natürlich gleich heißen, damit eine Zuordnugn stattfinden kann, aber davon geh ich mal aus, wenn ihr eure Anwendung testen wollt.

    Vor dem insert könnte man auch ein TRUNCATE TABLE davorschalten und so die Daten auch direkt löschen bevor sie neu aufgebaut werden.

    Dim
    Zitat Tom Kyte:
    I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

    Comment

    Working...
    X