Ma solution consistait à coder un propre programme pour la sortie pg_dump. N'hésitez pas à télécharger PgDumpSort qui trie la décharge par clé primaire. Avec la mémoire par défaut Java de 512 Mo, il devrait fonctionner avec jusqu'à 10 millions d'enregistrements par table, puisque les informations d'enregistrement (valeur de clé primaire, décalage de fichier) sont conservées en mémoire.
Vous utilisez ce petit programme Java par exemple. avec
java -cp ./pgdumpsort.jar PgDumpSort db.sql
Et vous obtenez un fichier nommé « db-sorted.sql », ou spécifier le nom du fichier de sortie:
java -cp ./pgdumpsort.jar PgDumpSort db.sql db-$(date +%F).sql
Et les données triée est dans un fichier comme « db-2013- 06-06.sql »
vous pouvez maintenant créer des patches en utilisant diff
diff --speed-large-files -uN db-2013-06-05.sql db-2013-06-06.sql >db-0506.diff
Cela vous permet de créer une sauvegarde incrémentale qui sont usuall y beaucoup plus petit.Pour restaurer les fichiers que vous devez appliquer le correctif au fichier d'origine en utilisant
patch -p1 < db-0506.diff
(code source est à l'intérieur du fichier JAR)
Pourriez-vous préciser ce que vous entendez? Vous dites de restaurer DUMP 2 dans une base de données temporaire, mais pouvez-vous clarifier sur "vider le temporaire dans le bon ordre". merci! – littleK
Oh, vous voulez restaurer DUMP2 dans une base de données temporaire, puis vider cette base de données ... – littleK