PostgreSQL に問題があります
私が走るときはいつでも
psql -h localhost
私は得る
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
PostgreSQL に問題があります
私が走るときはいつでも
psql -h localhost
私は得る
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
これを読んで Postgres.app を使用している人は、database.yml に host: localhost が必要な場合があります。http://postgresapp.com/documentation#toc_3
A. まず、PostgreSQL サーバーがリモート サーバーに対して起動されていることを確認します。
# /etc/init.d/postgresql start
実行中に上記のエラーが発生する場合は、有効な TCP/IP サポートを追加する必要があります。デフォルトでは、PostgreSQL サーバーは、ローカル マシンまたはローカルホストからのデータベースへの接続のみを許可します。これはセキュリティ機能です。
ステップ # 1: リモート IP アドレスが PostgreSQL にアクセスできるようにする
/var/lib/pgsql/data/pg_hba.conf というファイルを開く必要があります。su コマンドを使用して postgres ユーザーとしてログインします。
$ su - postgres
$ vi /var/lib/pgsql/data/pg_hba.conf
次の行を追加します。192.168.1.0/24 ネットワークへのアクセスを許可したいとします。
host all all 192.168.1.0 255.255.255.0 trust
192.168.1.0 と 255.255.255.0 を置き換えて、独自のネットワーク内のクライアント システムの実際のネットワーク IP アドレス範囲を反映してください。
ファイルを保存して閉じます。
ステップ # 2: TCP/IP 経由の通信を許可する
PostgreSQL 構成ファイル /var/lib/pgsql/data/postgresql.conf を開く必要があります。
$ vi /var/lib/pgsql/data/postgresql.conf
tcpip_socket を true に設定して、TCP/IP ポートをバインドして開きます。
tcpip_socket = true
ファイルを保存して閉じます。
ステップ # 3: PostgreSQL サーバーを再起動する
次のコマンドで PostgreSQL サーバーを再起動します。
# /etc/init.d/postgresql restart
これにより、デフォルトのポート 5432 が開きます。
ステップ # 4: セットアップをテストする
次のように、クライアント システムから psql コマンドを使用します。
psql -h PostgreSQL-IP-ADDRESS -U USERNAME -d DATABASENAME
IP アドレス 192.168.1.5 でリモート サーバーに接続し、vivek ユーザーを使用してログインし、販売データベースに接続します。
$ psql -h 192.168.1.5 -U vivek -d sales
どこ、
-h 192.168.1.5 :サーバーが実行されているマシンのホスト名または IP アドレス (192.168.1.5) を指定します。
-U vivek :デフォルトではなく vivek ユーザー名としてデータベースに接続します。vivek ユーザーとして接続するには、アカウントと権限が必要です。
-d sales :接続するデータベース (sales) の名前を指定します。