pg_dump rendezett adatok
A PostgreSQL dumpot tároljuk az SVN kódban és szükségünk volt egy rendezett formára, ahol mindig ugyanabban a sorrendben vannak a rekordok. Sajnos a pg_dump alapban a rekordokat valami ismeretlen (utolsó módosítás talán) érték alapján rendezi.
A flamelistán még márciusban Mage-től kaptam egy Rubys megoldást, amit átültettem PHP-re:
-
$copy = FALSE;
-
foreach ($stdin as $line) {
-
if (!$copy) {
-
echo $line;
-
$copy = TRUE;
-
}
-
} else {
-
$copy = FALSE;
-
} else {
-
$arr[] = $line;
-
}
-
}
-
}
A fenti PHP kód használata:
-
pg_dump database | /usr/bin/php5 sorter.php > dump.sql