Auf einem Debian 7-Server bot mir apt-get an, die folgenden beiden Pakete zu aktualisieren: postgresql-9.1 und postgresql-client-9.1. Da ich den Datenbankserver nicht neu starten wollte, entschied ich mich, nur den Client zu aktualisieren und führte Folgendes aus:
sudo apt-get install --only-upgrade postgresql-client-9.1
Dies führte jedoch dazu, dass PostgreSQL-9.1 entfernt wurde. Ich weiß, dass PostgreSQL-9.1 von PostgreSQL-Client-9.1 abhängt, aber warum sollte PostgreSQL durch ein Upgrade von PostgreSQL-Client entfernt werden?
Die apt-get upgrade
Ausgabe sieht gut aus:
~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
postgresql-9.1 postgresql-client-9.1
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/4,307 kB of archives.
After this operation, 432 kB of additional disk space will be used.
Do you want to continue [Y/n]?
Aber nicht, wenn Sie versuchen, nur den Client zu aktualisieren:
~$ sudo apt-get install --only-upgrade postgresql-client-9.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
postgresql-doc-9.1
The following packages will be REMOVED:
postgresql postgresql-9.1
The following packages will be upgraded:
postgresql-client-9.1
1 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
Need to get 0 B/996 kB of archives.
After this operation, 16.7 MB disk space will be freed.
Do you want to continue [Y/n]?
Antwort1
Es ist unmöglich, den PostgreSQL-Client ohne das PostgreSQL-Paket zu aktualisieren. Es ist jedoch möglich, den PostgreSQL-Dienst erst nach dem nächsten Neustart des Betriebssystems neu zu starten. Verwenden SieRichtlinie-rc.d
cat > ./usr/sbin/policy-rc.d <<EOF
#!/bin/sh
exit 101
EOF
chmod a+x ./usr/sbin/policy-rc.d
Denken Sie daran, policy-rc.d zu löschen, wenn Sie den PostgreSQL-Dienst ohne Neustart des Betriebssystems neu starten möchten.