Installer PostgreSQL via Homebrew
La plupart des utilisateurs d'OS X connaissent probablement Homebrew
, mais Homebrew est un gestionnaire de packages pour OS X qui vous permet d'installer et d'exécuter facilement une énorme bibliothèque d'applications et d'utilitaires.
Nous n'allons pas parcourir l'intégralité du processus d'installation (quoique court) d'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 si Homebrew est installé, essayez le which brew
commande du terminal pour vérifier.
Une fois Homebrew installé, vous pouvez installer PostgreSQL en exécutant les commandes suivantes dans votre terminal :
$ brew update
$ brew doctor
$ brew install postgres
Les deux premières commandes sont utilisées pour 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 beaucoup d'informations utiles dans la sortie lors de l'installation, dont la plupart doivent être copiées pour être utilisées dans les sections suivantes.
Utilisation d'un LaunchAgent et d'une 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 dire à votre ordinateur que c'est votre désir.
Tout d'abord, vous devrez créer un répertoire pour vos LaunchAgents
pour résider (si le répertoire n'existe pas déjà). LaunchAgents
sous OS X sont des scripts simples utilisés par launchd
qui amènent le système à exécuter des programmes ou du code au démarrage.
Créez votre user
-spécifiques LaunchAgents
répertoire avec cette commande, si nécessaire :
$ mkdir -p ~/Library/LaunchAgents
Vous devez maintenant créer un lien symbolique à partir du script qui permet réellement à Postgres de s'exécuter sur les LaunchAgents
annuaire. Un lien symbolique est similaire à la création d'une nouvelle copie d'un fichier à utiliser dans un autre répertoire, mais comme le lien est "symbolique", le lien n'est qu'une adresse de transfert :toute demande adressée à cet emplacement de lien symbolique est en fait "transférée". ou redirigé vers où le réel fichier réside réellement.
Lien vers le 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
Remarque :Vérifiez que la commande est correcte :elle aurait dû faire partie de la sortie d'installation mentionnée ci-dessus lorsque Homebrew a initialement installé Postgres.
Enfin, nous chargeons le nouveau lien symbolique LaunchAgent
fichier en utilisant le launchctl load
commande, qui est spécifiquement ce qui informe l'ordinateur d'exécuter ce script et de démarrer Postgres au démarrage de l'ordinateur. Encore une fois, la commande exacte à entrer pour votre propre installation sera une sortie lors de l'installation de Postgres de Homebrew, mais elle devrait ressembler à 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 lors de l'installation, comme ceci :
$ postgres -D /usr/local/var/postgres
Cela tentera de lancer Postgres dans daemon
mode, ce qui signifie qu'il fonctionnera en arrière-plan 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 Postgres est déjà installé, vous pouvez également le démarrer manuellement avec pg_ctl
, qui est l'utilitaire de lancement fourni par Postgres lui-même.
Cela démarrera Postgres (en supposant que les répertoires par défaut) :
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Et cela arrêtera 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 rencontrez des problèmes pour exécuter Postgres, assurez-vous d'avoir exécuté le initdb
commande une fois, ce qui amène Postgres à initialiser le cluster de base de données pour une nouvelle installation et vous permet de vous connecter avec le postgres
par défaut utilisateur.