![](https://secure.gravatar.com/avatar/8a4c29bf1c7c9260c038c2d1b346bed8.jpg?s=120&d=mm&r=g)
Czy i jaka różnice w wydajności zauwazes?
Pozdrawiam
Dnia 03-03-2011 o godz. 11:07 "Maciej Kesicki" mkesicki@interia.pl napisał(a):
Witam!
Ja robiłem konwersję z MySQL do PostgreSQL'a i w dodatku z upgradem LMS'a - stara wersja była sprzed 3 lat a nowa to najnowsza z CVS'a dostępna na początku tego roku.
Mogę podać sposób jaki ja stosowałem - cała migracja zajęła mi jakiś tydzień czasu - praca wykonywana wieczorami i w międzyczasie uzgodnienia i testy robione przez "właściciela" bazy.
- Eksport z MySQL'a należy wykonać od razu do kodowania UTF-8 i do formaty PostgreSQL
mysqldump ma taką opcję. 2. Napisanie skryptu, który zmieni ten format uzyskany z MySQL'a do czytelnej postaci, gdzie każdy rekord znajduje się w osobnym insercie i w osobnej linii - to ułatwia odszukanie rekordu z błędem jeśli się zdarzy. Ja dodałem tu jeszcze usuwanie rekordów z tabel, które "zniknęły" w nowej wersji bazy, oraz korektę rekordów zawierających dane z usunietych kolumn. 3. Zainstalowanie testowej instancji LMS'a z ustawieniami na bazę PostgreSQL'a i utworzenie dla niej nowej czystej bazy ze skryptów instalacyjnych LMS'a. 4. Wgranie danych do bazy PostgreSQL'a otrzymanych po przepuszczeniu przez skrypt z punkut 2. (punkty od 2 do 4 powtarzałem tyle razy aż udało się wyeliminować wszystkie błędy i złapać wszystkie powiązania). 5. Skorygowanie wszystkich sekwencji - MySQL używa do id tabel typu autoincrement, a PostgreSQL uzywa typu serial, który jest sekwencją (tabelą specjalną). W dumpie z MySQL'a nie miałem żadnych informacji o tym jak to zaktualizować i wszystkie liczniki szły od 1 powodując duplikację kluczy głównych i błędy. Dlatego napisałem prostą funkcję, która przechodzi po wszystkich sekwencjach i aktualizuje ich bieżące wartości na maksymalną wartość występującą w tabeli plus jeden.
Po takich operacjach nowy LMS zaczął chodzić, były jeszcze jakieś mniejsze niedomagania ale dało sie je wyeliminować już na wersji produkcyjnej. Być może w twoim przypadku bedzie prościej, jeśli będzie to tylko przeskok z jednaj bazy na drugą (bez upgrade'u LMS'a).
Pozdrawiam Maciej
----- Original Message ----- From: "Bartek Swedrowski" bartek@idk.net.pl To: lms@lists.lms.org.pl Sent: Wednesday, March 02, 2011 11:32 AM Subject: [lms] Konwersja bazy danych z MySQL do PostgreSQL
Witam,
Czy ktoś z listowiczów dokonał operacji konwersji bazy danych LMS z MySQL do PostgreSQL, i mógłby się podzielić doświadczeniami? Napotkane problemy, na co uważać itd.?
Pozdrawiam, Bartek _______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Dramatyczny wypadek Roberta Kubicy - zobacz najswiezsze doniesienia! Sprawdz >>> http://linkint.pl/f2915
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms