web-dev-qa-db-fra.com

Empêcher Postgresql de redémarrer via des mises à jour automatiques

Je sais que je pourrais probablement faire ce qui suit:

Comment empêcher la mise à jour d'un paquet spécifique?

Et empêchez postgresql de se mettre à niveau complètement. Mais ensuite, si je veux le mettre à jour manuellement, je devrais libérer les paquets suivants, puis les conserver à nouveau:

postgresql-9.3 install postgresql-client-9.3 install postgresql-client-common install postgresql-common install

ce qui est un peu difficile à faire si vous gérez plusieurs serveurs. Ce qui signifie que je devrais écrire des scripts à cet effet et autres.

La solution idéale serait la suivante:

les mises à jour automatiques vont mettre à jour les paquets, mais ne redémarrent pas postgresql, ou les mises à jour de sécurité sans surveillance ne mettent pas à jour les paquets, mais effectuer une mise à jour manuelle d'apt-get dist-upgrade le fait sans avoir à le retenir.

Y a-t-il un moyen de faire cela avec un peu plus de finesse que la suggestion initiale?

La raison en est que lorsque je mets à niveau nos serveurs, tous les services peuvent interrompre une seconde, mais lorsque vous interrompez une base de données, de mauvaises choses peuvent arriver.

4
Ulukai

Avec le paquetage unattended-upgrades, vous pouvez mettre en liste noire les paquets que vous ne souhaitez pas mettre à jour.

Pas sûr de la profondeur de l'arbre de dépendance.

Voir: buntu: Mises à jour automatiques

// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
        "postgresql-.*";
//      "vim";
//      "libc6";
//      "libc6-dev";
//      "libc6-i686";
};

`

3
LarryH