LoginSignup
0
5

More than 3 years have passed since last update.

PostgreSQLを、WindowsPCにインストールして外部接続する方法

Posted at

WindowsServer2002 と、Windows10 に PostgreSQL11.5 をそれぞれインストールしました。
忘れないために、どうやったか設定手順を残しておこうと思います。
これで、何台でもスムーズにインストールできるようになりそうです。
覚え書きレベルです。

PostgreSQL はインストール直後、他端末からの接続を受け付けない仕様になっています。
そのため、他端末からの接続を許可するには、設定をしてやらなければなりません。

  1. PostgreSQL内での設定 C:\Program Files\PostgreSQL\11\data\pg_hba.conf 内
    (11のところはVersion11.5を入れたから。ここはバージョンによって変わります)
pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# IPv4 local connections:
host    all             all             127.0.0.1/32    md5

の直後に
host all all 192.168.0.0/24 md5

を追加。これで、社内ネットワーク 192.168.0.1~192.168.0.254 までのIPアドレスのホスト(クライアント)が許可されます。

  1. pg_hba.confを書き換えたら、必ずサービスを再起動すること。
    コントロール パネル\すべてのコントロール パネル項目\管理ツールの中に、「サービス」があるはず。Postgresと書いてあるサービスがそれです。

  2. Windows ファイアウォールでも通信を許可する必要があります。
    [ココから転記]
    https://www.projectgroup.info/documents/PostgreSQL/POS_000007.html

    1. スタートメニューから[管理ツール] - [セキュリティが強化された Windows ファイアウオール] を起動
    2. 左ペインで「受信の規則」を選択し、右ペインで「新しい規則」をクリック
    3. 【規則の種類】「ポート」を選択して「次へ」をクリック
    4. 【プロトコルおよびポート】「TCP」、「特定のローカルポート」を選択し、ポート番号に「5432」を入力して「次へ」をクリック
    5. 【操作】「接続を許可する」を選択して「次へ」をクリックします。
    6. 【プロファイル】環境に応じて適用対象にチェックをして「次へ」をクリック
    7. 【名前】わかりやすい名前を設定して、「完了」をクリック。今回は「PostgreSQL」と設定。
    8. 一覧に先ほど「名前」で登録した名称の行ができていればOK
  3. A5:SQL Mk-2 2.14.3 を起動。
      サーバー名:(postgreSQLを置いたPC名)
      データベース名: postgres
      ユーザーID: postgres
      パスワード:(設定したパスワード)
     で、デフォルトで作られているDBに接続できていれば、外部通信ができたことになります。

  4. A5:SQL Mk-2 からはデータベースの箱が作れないので、サーバー内のプロンプトで、あらかじめ作っておかなければなりません。

    1. 起動してるかどうか確認  psql -V  でバージョン情報が出るかどうか。
    2. 起動してたらログイン psql -U postgres -d postgres パスワードを打って、 postgres=# と出たら接続成功
    3. create database (名前) でデータベースが作成される(なぜか小文字でないと通りませんでした)。
    4. \l で作成済みのデータベース一覧を表示
    5. \q で切断
    6. A5:SQL Mk-2 2.14.3 を起動。
       サーバー名:(postgreSQLを置いたPC名)
       データベース名: (さっき作ったデータベース名)
       ユーザーID: postgres
       パスワード:(設定したパスワード)
      で、接続できたら、完成。
  5. ユーザを追加したいときは、
    create role (ユーザー名) with login password 'password' ;
    ※パスワードを囲うシングルクォーテーションを忘れるとエラーになるので注意
    [ココが詳しい]
    https://eng-entrance.com/postgresql-role

0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5