0

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?
4

2 に答える 2

0

これを読んで Postgres.app を使用している人は、database.yml に host: localhost が必要な場合があります。http://postgresapp.com/documentation#toc_3

于 2014-12-10T23:39:03.130 に答える
0

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) の名前を指定します。

于 2013-09-24T20:42:49.853 に答える