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