PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment démarrer PostgreSQL Server 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 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.