Homebrew経由でPostgreSQLをインストール
ほとんどのOSXユーザーはHomebrew
を知っていると思われます 、ただし、HomebrewはOS Xのパッケージマネージャーであり、アプリケーションとユーティリティの大規模なライブラリを簡単にインストールして実行できます。
Homebrewの(短いですが)インストールプロセス全体については説明しませんが、HomebrewをインストールしてPostgreSQL管理に使用する場合は、公式ドキュメントのインストールコマンドを確認してください。 Homebrewがインストールされているかどうかわからない場合は、which brew
を試してください ターミナルからコマンドを実行して確認します。
Homebrewをインストールしたら、ターミナルで次のコマンドを発行してPostgreSQLをインストールできます。
$ brew update
$ brew doctor
$ brew install postgres
最初の2つのコマンドは、Homebrewを更新し、潜在的な問題を報告するために使用されます(必要な場合)。そして、もちろん、brew install postgres
PostgreSQLをインストールするための1行のコマンドです。
インストール中に出力に多くの有用な情報が表示されるはずです。その多くは、次のセクションで使用するためにコピーする必要があります。
LaunchAgentとplistを使用して起動時にPostgreSQLを起動する
ほとんどの場合、システムの起動時にPostgreSQLを起動したいと思うでしょう。そのため、これがあなたの望みであることをコンピュータに伝える必要があります。
まず、LaunchAgents
用のディレクトリを作成する必要があります 常駐する(ディレクトリがまだ存在しない場合)。 LaunchAgents
OS Xでは、launchd
によって使用される単純なスクリプトです。 これにより、システムは起動時にプログラムまたはコードを実行します。
user
を作成します -特定のLaunchAgents
必要に応じて、このコマンドを使用するディレクトリ:
$ mkdir -p ~/Library/LaunchAgents
次に、Postgresを実際にLaunchAgents
に実行できるようにするシンボリックリンクをスクリプトから作成する必要があります。 ディレクトリ。シンボリックリンクは、別のディレクトリで使用するファイルの新しいコピーを作成するのと似ていますが、リンクは「シンボリック」であるため、リンクは単なる転送アドレスです。そのシンボリックリンクの場所に対して行われた要求は、実際には「転送」されます。または実際の場所にリダイレクトされます ファイルは実際に存在します。
plist
へのリンク (プロパティリスト)Homebrewによって生成されたファイルで、その新しいシンボリックリンクをLaunchAgents
に配置します このコマンドで:
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
注:コマンドが正しいことを再確認してください:Homebrewが最初にPostgresをインストールしたときに、上記のインストール出力の一部である必要があります。
最後に、新しいシンボリックリンクのLaunchAgent
を読み込みます launchctl load
を使用したファイル コマンド。具体的には、このスクリプトを実行し、コンピューターの起動時にPostgresを開始するようにコンピューターに通知します。繰り返しになりますが、独自のインストールに入力する正確なコマンドは、HomebrewのPostgresインストール中の出力になりますが、次のようになります。
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
再起動せずにPostgresを手動で起動するには、インストール中に出力されたコマンドを次のように使用できるはずです。
$ postgres -D /usr/local/var/postgres
これにより、daemon
でPostgresを起動しようとします モード。これは、端末を引き継ぐことなくバックグラウンドプロセスとして実行されることを意味します。
Postgres用のHomebrewを持っていない(または使用したくない)が、Postgresがすでにインストールされている場合は、pg_ctl
を使用して手動で起動することもできます。 、これはPostgres自体が提供する起動ユーティリティです。
これにより、Postgresが起動します(デフォルトのディレクトリを想定):
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
そしてこれはPostgresを停止します:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
スタートアップのトラブルシューティング:initdb
を実行しましたか ?
場合によっては、Postgresの実行に問題がある場合は、initdb
を実行したことを確認してください。 コマンドを1回実行すると、Postgresは新しいインストールのためにデータベースクラスターを初期化し、デフォルトのpostgres
に接続できるようになります。 ユーザー。