Conditions préalables
- Un serveur Vultr fonctionnant sous Arch Linux à jour (voir cet article .)
- Accès Sudo.
- Les commandes devant être exécutées en tant que root sont préfixées par
#, et celles qui peuvent être exécutées en tant qu'utilisateur normal par $. La façon recommandée d'exécuter des commandes en tant que root est, en tant qu'utilisateur normal, de préfixer chacune d'elles avec sudo.
Installer la base de données PostgreSQL 11.1
Installez PostgreSQL:
# pacman -S postgresql
Si vous exécutez le système de fichiers Btrfs, vous devez envisager de désactiver la copie sur écriture pour le répertoire de la base de données:
# chattr +C /var/lib/postgres/data/
Ce package crée l'utilisateur postgressur votre système.
Initialisez le cluster de base de données. Cela doit être fait par le nouvel postgresutilisateur, et cette commande le fera tant que votre compte d'utilisateur est configuré avec les privilèges sudo:
$ sudo -iu postgres initdb -D /var/lib/postgres/data
Démarrez PostgreSQL et faites-le démarrer après chaque démarrage:
# systemctl enable --now postgresql
Connectez-vous à PostgreSQL, en tant qu'utilisateur de base de données postgresqui agit en tant qu'utilisateur root de la base de données:
# psql -U postgres
Définissez ensuite un mot de passe:
postgres-# \password postgres
Maintenant, quittez:
postgres-# \q
Considérez un pare-feu
Vous voudrez peut-être envisager de configurer un pare-feu. Par défaut, PostgreSQL écoutera sur le port 5432non seulement à partir de l'hôte local, mais aussi de n'importe où sur votre adresse IP publique. PostgreSQL approuvera également que les connexions entrantes depuis localhost, mais les tentatives externes sera toujours atteindre PostgreSQL et obtenir l'erreur suivante: no pg_hba.conf entry for host.
Bien que PostgreSQL soit considéré comme assez sécurisé, il est plus sûr qu'un pare-feu ne donne même pas de paquets externes au serveur PostgreSQL, sauf si cela est absolument nécessaire. Même si un accès direct à distance est souhaité, l'utilisation d'un pare-feu pour bloquer le trafic et l'utilisation d'un VPN seraient plus sécuritaires.
Préparez-vous aux mises à niveau
Par défaut, met à pacmanniveau PostgreSQL lorsque de nouvelles versions sont publiées dans les référentiels officiels d'Arch, lorsque vous mettez à niveau l'ensemble de votre système Arch en exécutant la commande suivante:
# pacman -Syu
Il est fortement recommandé de configurer pacmanpour ne pas installer automatiquement les mises à niveau vers PostgreSQL. Lorsqu'une mise à niveau est publiée et que vous mettez à niveau l'ensemble de votre système Arch, pacmanvous informerez qu'une nouvelle version est disponible. Modifiez /etc/pacman.confet ajoutez les éléments suivants:
IgnorePkg = postgresql*
Gérer les mises à niveau de versions mineures
Lorsque pacmanvous montre qu'il y a une mise à niveau de version mineure, comme 11.0pour 11.1, la politique de version de PostgreSQL est que vous pouvez effectuer la mise à niveau en toute sécurité. Cela dit, c'est une bonne idée de sauvegarder d'abord votre base de données.
Pour effectuer une mise à niveau mineure, arrêtez PostgreSQL et confirmez qu'elle est arrêtée:
# systemctl stop postgresql
# systemctl status postgresql
Ensuite, forcez la mise à niveau des packages:
# pacman -S postgresql postgresql-libs
Démarrez PostgreSQL:
# systemctl start postgresql
Gérer les mises à niveau des versions majeures
Quand pacmanmontre qu'il ya une mise à niveau de version majeure, par exemple 11.xà 12.x, il est recommandé de vérifier le site Web de PostgreSQL , ainsi que le site Web de Arche, pour voir s'il y a des étapes que vous devez effectuer pour mettre à jour correctement. Dans le passé, lorsque PostgreSQL avait donné de telles étapes, les ignorer empêchait les bases de données de fonctionner. Il est fortement recommandé de sauvegarder d'abord votre base de données, car ces mises à niveau sont plus risquées.