为什么要更新postgresql-client卸载postgresql?

Debian 7服务器上,apt-get让我提供了以下两个包:postgresql-9.1和postgresql-client-9.1。 由于我不想重启数据库服务器,我决定只升级客户端并运行:

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

不可能升级postgresql-client而不使用postgresql包。 但是,有可能让postgresql服务在下一次操作系统重启之前不会重新启动。 使用policy-rc.d

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

只要记住要删除policy-rc.d,如果你想在不重启OS的情况下重新启动PostgreSQL服务。