wenn ich eine Migration mittels folgendem Befehl durchführe:
pg_dumpall -p 5432 | psql -d postgres -p6432
kann ich dann während der migration die neue Datenbank bereits verwenden?
Habe eine Tabelle mit einem Serial (sqeuence) PK.
Die Sequenz ist auf der neuen DB schon drauf.
Wenn ich nun ein Insert mache dann ist die ID des PK auch korrekt.
Gibt das dann irgendwann Probleme wähernd der Migration oder danach?
Das kann gut gehen, aber garantieren mag ich das nicht. Im Dump wird zuerst die Sequence angelegt und auch bereits gesetzt, das Füllen der Tabelle erfolgt via COPY mit den Werten, die Sequence wird dazu nicht mehr genutzt. Wenn also die Sequence und die Tabelle schon bestehen und die Sequence auf den Wert nach dem Dump gesetzt ist (Dein ‘Insert mache dann ist die ID des PK’ interpretiere ich mal so), sehe ich kein Problem, was nicht bedeuten muß, daß da keines ist…
PS.: du verwendest das pg_dumpall der neueren Version?
Ja ich nutze die 8.3.1 pg_dumpall… (sowie psql).
Aber das Copy ist doch sowas wie Insert…
Und ob ich nun die inserts von Hand eintrage oder das automatisch geht, sollte doch egal sein.
Von daher sollte der paralellbetrieb eigentlich funktionieren.
In der Doku von PG steht nur, dass man währenddessen an der alten DB nichts ändern darf/sollte, da dieses sonst verloren geht.
Was ich aber komisch finde, wenn ich nun von einer Tabelle, an welcher der Dump gerade drann ist, ein count aufrufen, gibt er mir nur 1 zurück (das ist der von mir mittels insert eingefügte). Wo sind die anderen? Macht er das mit begin/commit?