Comment démarrer le serveur PostgreSQL sur Mac OS X via Homebrew

Installer PostgreSQL via Homebrew

La plupart des utilisateurs d’OS X connaissent probablement Homebrew, mais Homebrew est un gestionnaire de paquets pour OS X qui vous permet d’installer et d’exécuter facilement une bibliothèque massive d’applications et d’utilitaires.

Nous ne passerons pas en revue tout le processus d’installation (bien que court) de Homebrew, mais si vous souhaitez installer Homebrew et l’utiliser pour la gestion de PostgreSQL, consultez la commande d’installation sur la documentation officielle. Si vous n’êtes pas sûr que Homebrew soit installé, essayez la commande which brew depuis le terminal pour vérifier.

Une fois Homebrew installé, vous pouvez installer PostgreSQL en émettant les commandes suivantes dans votre terminal :

$ brew update$ brew doctor$ brew install postgres

Les deux premières commandes servent à mettre à jour Homebrew et à signaler tout problème potentiel (si nécessaire). Ensuite, bien sûr, brew install postgres est la commande en une ligne pour installer PostgreSQL.

Vous devriez voir une bonne quantité d’informations utiles dans la sortie pendant l’installation, dont une grande partie devrait être copiée pour être utilisée dans les sections suivantes.

Utilisation d’un LaunchAgent et d’un plist pour lancer PostgreSQL au démarrage

Dans la plupart des cas, vous souhaiterez probablement que PostgreSQL soit lancé au démarrage de votre système, vous devrez donc indiquer à votre ordinateur que tel est votre désir.

D’abord, vous devrez créer un répertoire pour que votre LaunchAgents réside (si le répertoire n’existe pas déjà). LaunchAgents dans OS X sont de simples scripts utilisés par launchd qui font en sorte que le système exécute des programmes ou du code pendant le démarrage.

Créer votre répertoire user spécifique LaunchAgents avec cette commande, si nécessaire :

$ mkdir -p ~/Library/LaunchAgents

Maintenant, vous devrez créer un lien symbolique depuis le script qui permet effectivement à Postgres de s’exécuter vers le répertoire LaunchAgents. Un lien symbolique est similaire à la création d’une nouvelle copie d’un fichier à utiliser dans un autre répertoire, mais puisque le lien est  » symbolique « , il s’agit simplement d’une adresse d’acheminement : toute demande faite à cet emplacement de lien symbolique est en fait  » acheminée le long  » ou redirigée vers l’endroit où le véritable fichier réside réellement.

Lien vers le fichier plist (liste de propriétés) qui a été généré par Homebrew et placez ce nouveau lien symbolique dans LaunchAgents avec cette commande :

$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

Note : Vérifiez deux fois que la commande est correcte : elle devrait avoir fait partie de la sortie d’installation mentionnée ci-dessus lorsque Homebrew a installé Postgres initialement.

Enfin, nous chargeons le nouveau lien symbolique’ed LaunchAgent fichier en utilisant la commande launchctl load, qui est spécifiquement ce qui informe l’ordinateur d’exécuter ce script et de démarrer Postgres lorsque l’ordinateur se lance. Encore une fois, la commande exacte à saisir pour votre propre installation sera une sortie pendant l’installation de Postgres par Homebrew, mais elle devrait ressembler à quelque chose comme ceci :

$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Démarrage manuel de PostgreSQL

Pour démarrer manuellement Postgres sans redémarrer, encore une fois, vous devriez pouvoir utiliser la commande qui a été sortie pendant l’installation, comme ceci :

$ postgres -D /usr/local/var/postgres

Cette commande tentera de lancer Postgres en mode daemon, ce qui signifie qu’il s’exécutera en tant que processus de fond sans prendre le contrôle de votre terminal.

Démarrer/arrêter PostgreSQL sans Homebrew

Dans le cas où vous n’avez pas (ou ne souhaitez pas utiliser) Homebrew pour Postgres, mais que vous avez déjà installé Postgres, vous pouvez également le démarrer manuellement avec pg_ctl, qui est l’utilitaire de lancement fourni par Postgres lui-même.

Ceci va démarrer Postgres (en supposant des répertoires par défaut):

$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

Et ceci va arrêter Postgres :

pg_ctl -D /usr/local/var/postgres stop -s -m fast

Dépannage au démarrage : Avez-vous exécuté initdb ?

Dans certains cas, si vous avez des difficultés à exécuter Postgres, assurez-vous d’avoir exécuté une fois la commande initdb, qui amène Postgres à initialiser le cluster de base de données pour une nouvelle installation et vous permet de vous connecter avec l’utilisateur postgres par défaut.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *