Upgrade PostgreSQL 8.1.8 -> 8.2.4 (Gentoo)
Na dzisiaj zaplanowałem wymianę serwera PostgreSQL na najnowszą wersję która o dziwo też znalazła się a Portage Gentoo. Upgrade serwera gdzie dość duża jest różnica wersji nie dzieje się automatycznie. To znaczy, robimy dump danych a po upgrade importujemy z powrotem. Jako że pierwszy raz takie cudo robiłem, test poszedł na komputerze domowym a później na serwerze produkcyjnym. Ale po koleji:
Robimy dump całości danych z PostgreSQL za pomocą pg_dumpall do pliku. W moim przypadku aby dane miały sens, położone zostały następujące usługi: Jabber, Postfix, Courier-*, Amavisd, SpamAssassin. Gentoo wymaga od nas aby katalogu /var/lib/postgresql nie było podczas aktualizji. Dla bezpieczeństwa nie usuwałem owych plików a przeniosłem je w bezpiecznie miejsce.
Po aktualizji PostgreSQL uruchomiłem:
emerge postgresql --config
Co stworzyło i zainicjalizowało PostgreSQL. Następnie przyszła pora na modyfikację pliku pg_hba.conf gdzie poprawiłem trusty itd. Potem to już tylko import danych za pomocą polecenia psql. PgAdmin III posłużył za test czy dane, użytkownicy, hasła, prawa są ok. Wszystko okazało się ok
. Jako że libpq się zmienił również rekompilację wymagały:
- php
- courier-authlib
- postfix
- SpamAssassin
- DBD-Pg
PHP jak to się mówi, odrazu zamlaskało. podobnie courier-authlib, postfix. Problem pojawił się z SpamAssassin. W syslogu siało mi logami typu:
May 12 21:53:09 inferno postgres[17456]: [1-1] WARNING: nonstandard use of \ in a string literal at character 22 May 12 21:53:09 inferno postgres[17456]: [1-2] HINT: Use the escape string syntax for backslashes, e.g., E'\'.
Tzn. nie był dość uciążliwy, ale co chwile widzieć ostrzeżenia w syslog to troche nie miło. Chwila googlowania i znalazłem że nie tylko ja mam taki problem -> Bug 5299 - BayesStore/PgSQL. Mają to poprawić w wersji 3.3.0 (aktualna 3.2.0) ale za to udostępiony jest patch który błąd poprawia. Po zaaplikowaniu wszystko jest ok, ostrzeżeń nie widać


