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.