TUDU

Jakub Bogusz qboosh w pld.org.pl
Śro, 13 Lut 2002, 20:42:43 CET


On Wed, Feb 13, 2002 at 11:33:54AM +0100, Jakub Bogusz wrote:
> On Tue, Feb 12, 2002 at 10:33:50PM +0100, Tomasz Kłoczko wrote:
> > 6. postgresql: mi chodzi ale nie mam niczego skomplikowanego. Jak to widzą
> >    inni ?
[...]
> No i trzeba zrobić jakieś zabezpieczenie przed upgradem z wersji <7.2
> z istniejącą bazą w starym formacie.
> 
> Może coś takiego w %pre:
> if [ -f /etc/sysconfig/postgresql ]; then
>   POSTGRES_DATA_DIR=/var/lib/pgsql
>   . /etc/sysconfig/postgresql
>   if [ -f $POSTGRES_DATA_DIR/PG_VERSION ]; then
>     if [ `cat $POSTGRES_DATA_DIR/PG_VERSION` != '7.2' ]; then
>       echo "Database in older, incompatible format exists in $POSTGRES_DATA_DIR."
>       echo "Dump it and clean $POSTGRES_DATA_DIR, then upgrade postgresql and"
>       echo "restore database"
>       exit 1
>     fi
>   fi
> fi

Tylko w %pre czego to umieścić?

Jeżeli będzie w głównym, to po "rpm -F postgres-*" najpierw pójdzie
-libs, _zupgraduje się_, potem upgrade głównego się nie uda, ale
biblioteki będą już nowe... i nic się będzie dało zrobić.
Programy z -clients też przestaną działać.

Jeżeli będzie w -libs, to po "rpm -F postgres-*" najpierw pójdzie próba
upgrade -libs, wywali się (prawidłowo), ale upgrade pójdzie dalej -
z doświadczenia: rpm po czymś takim _nie kończy działania_, tylko
upgraduje kolejne pakiety - po nieudanym upgrade któregoś pakietu nie
weryfikuje wymagać innych pakietów z tego samego polecenia!!! - potem
biblioteka będzie stara, serwer i -clients już nowe - i znowu może się
nie dać nic zrobić... :/

Czyżby trzeba było dopisać tę konstrukcję jednocześnie do -libs,
-clients i serwera???


-- 
Jakub Bogusz    http://prioris.mini.pw.edu.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl