最終更新:
コマンドを実行するのを忘れていましたinitdb
。
このコマンドを実行すると
ps auxwww | grep postgres
postgres
実行されていないようです
> ps auxwww | grep postgres
remcat 1789 0.0 0.0 2434892 480 s000 R+ 11:28PM 0:00.00 grep postgres
次のような疑問が生じます。
PostgreSQL サーバーを起動するにはどうすればよいですか?
アップデート:
> pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
sh: /usr/local/var/postgres/server.log: No such file or directory
アップデート2:
タッチが成功しなかったため、代わりに次の操作を実行しました。
> mkdir /usr/local/var/postgres
> vi /usr/local/var/postgres/server.log
> ls /usr/local/var/postgres/
server.log
しかし、Ruby on Rails サーバーを起動しようとすると、次のようなメッセージが表示されます。
サーバーはホスト「localhost」上で実行されており、ポート 5432 で TCP/IP 接続を受け入れていますか?
アップデート3:
> pg_ctl -D /usr/local/var/postgres status
pg_ctl: no server running
アップデート4:
pg_hba.confファイルがない ( pg_hba.conf.sampleファイルのみ)ことがわかったので、サンプルを修正して名前を変更しました (.sample を削除するため)。内容は次のとおりです。
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
しかし、私はこれを理解できません:
> pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
> pg_ctl -D /usr/local/var/postgres status
pg_ctl: no server running
また:
sudo find / -name postgresql.conf
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
アップデート5:
sudo pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Password:
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will own the server process.
アップデート6:
これは奇妙に思えます:
> egrep 'listen|port' /usr/local/var/postgres/postgresql.conf
egrep: /usr/local/var/postgres/postgresql.conf: No such file or directory
しかし、私はこれをやりました:
>sudo find / -name "*postgresql.conf*"
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
/usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample
/usr/share/postgresql/postgresql.conf.sample
そこで私はこうしました:
egrep 'listen|port' /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample
#listen_addresses = 'localhost' # what IP address(es) to listen on;
#port = 5432 # (change requires restart)
# supported by the operating system:
# %r = remote host and port
そこで私はこれを試しました:
> cp /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf
> cp /usr/share/postgresql/postgresql.conf.sample /usr/share/postgresql/postgresql.conf
「サーバーは実行されていますか?」という同じメッセージが引き続き表示されます。
ベストアンサー1
の自家製パッケージ マネージャーには、自動的に起動するための launchctl plist が含まれています。詳細については、 を実行してくださいbrew info postgres
。
手動で開始
pg_ctl -D /usr/local/var/postgres start
手動で停止する
pg_ctl -D /usr/local/var/postgres stop
自動的に開始
「launchd が今すぐ postgresql を起動し、ログイン時に再起動するようにするには:」
brew services start postgresql
の結果は何ですかpg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
?
の結果は何ですかpg_ctl -D /usr/local/var/postgres status
?
server.log にエラー メッセージはありますか?
pg_hba.conf で tcp localhost 接続が有効になっていることを確認します。
# IPv4 local connections:
host all all 127.0.0.1/32 trust
postgresql.conf の listen_addresses とポートを確認します。
egrep 'listen|port' /usr/local/var/postgres/postgresql.conf
#listen_addresses = 'localhost' # What IP address(es) to listen on;
#port = 5432 # (change requires restart)
清掃
PostgreSQLはおそらく自家製、フィンク、MacポートまたはエンタープライズDBインストーラ。
次のコマンドの出力をチェックして、どのパッケージ マネージャーを使用してインストールされたかを確認します。
brew && brew list|grep postgres
fink && fink list|grep postgres
port && port installed|grep postgres