pg_dump van view daten

Hallo,

Ich habe derzeit ein dummes problem und habe das Gefuehl das ich es via demm Falschen Weg probiere.
ich habe derzeit 2 Datenbanken, wo bei die eine Datenbank informationen enthaelt welche ich in der zweiten benoetige. Hierfuer wurden in der ersten Datenbank Views erzeugt welche die Daten zur verfuehgung stellen.

Mein problem ist nun das ich leider keine Netzwerk Verbindung zwischen denn beiden Systemen habe und somit ein Sneakernet machen muss (was auch nicht uebermaessig schlect ist da das update nur alle paar wochen passiert)

Meine idee war das Ergebniss von denn Views irgendwie in eine Datei zu dumpen (z.B. mit pg_dump) und die informationen dann in eine neue Table auf Databank 2 zu importieren. Leider spielt da aber pg_dump nicht mit, ich koennte zwar ein Select * From [view] machen und das in eine Datei umleiten aber dann muss ich das alles manuel in INSERT commands umwandeln :frowning: .

Waere nett wenn Ihr mir da weiterhelfen koenntet.

Gruss

COPY ist Dein Freund, copy (select * from view) to , und das dann drüben einlesen.

Andreas

Hallo,

Danke für denn Tipp, war zwar nicht 100% das ergebniss was ich erhofft hatte, wollte eigentlich INSERT Statments haben, aber es funktioniert :slight_smile: halbwegs. Hab ein dies bezüglich aber noch ein Problem. Ich wollte in der neue Tabelle wo ich die Daten rein kopiere eine neues Feld erzeugen, für einen PK, gesagt getan aber dann streikt leider der COPY Befehl da er keine Daten fuer

Hat hierzu noch einer eine idee oder sollte ich dann einefach den PK aus den existierenden Feldern erzeugen.

Gruss

du koenntest ja die views vor dem dumpen in entsprechende tabellen selecten …

select … into <dumpschema.dumptable> from view

will ich hier hervorheben, weil du dann per pg-dump ausschließlich dieses schema dumpen kannst - anderer namespace halt - bessere trennung

Versteh ich dich richtig, die Zieltabelle hat diese neue Spalte, die Ursprungstabelle nicht?

Falls ja: beim COPY (beim insert-copy) die Spalten nennen, die in der alten Tabelle sind. Also alle Spalten außer der neuen PK-Spalte. Und diese kannst Du als SERIAL definieren, der Rest geht dann vollautomatisch.

Andreas

Ha, die Antwort ist manchmal so einfach :slight_smile:
Und da sag ich noch wer lesen kann ist klar im Vorteil.
Der Hinweis die Columns anzugenben war Gold richtig. Ich hatte das neue Feld schon als serial definiert hatte aber vergessen/bzw. nicht richtig gelesen die Column Namen anzugeben.

Tausend dank

Gruss :smiley: