postgresql-client を更新すると、なぜ postgresql がアンインストールされるのでしょうか?

postgresql-client を更新すると、なぜ postgresql がアンインストールされるのでしょうか?

Debian 7 サーバーでは、apt-get が postgresql-9.1 と postgresql-client-9.1 の 2 つのパッケージをアップグレードするように提案していました。データベース サーバーを再起動したくなかったので、クライアントのみをアップグレードすることにして、次のコマンドを実行しました。

sudo apt-get install --only-upgrade postgresql-client-9.1

しかし、この結果、postgresql-9.1 が削除されました。postgresql-9.1 が postgresql-client-9.1 に依存していることはわかっていますが、postgresql-client をアップグレードするとなぜ postgresql が削除されるのでしょうか?


出力はapt-get upgrade問題なさそうです:

~$ 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]?

ただし、クライアントのみをアップグレードする場合はそうではありません。

~$ 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]?

答え1

postgresqlパッケージなしでpostgresql-clientをアップグレードすることは不可能です。ただし、次のOS再起動までpostgresqlサービスが再起動しないようにすることは可能です。ポリシー-rc.d

cat > ./usr/sbin/policy-rc.d <<EOF
#!/bin/sh
exit 101
EOF

chmod a+x ./usr/sbin/policy-rc.d

OS を再起動せずに PostgreSQL サービスを再起動したい場合は、policy-rc.d を忘れずに削除してください。

関連情報