postgreSQL の設定概要

この記事では、windows server 2019 にインストールした postgresql のデータベースへクライアントからアクセスする方法について概説する。


・windows server のインターネットの設定を変更し、ソフトウェアをダウンロードできるようにする。

・postgresql をwebサイトからインストール

・まず、localからpostgresql にアクセスできることを確認。ところが、PATHが設定されていないため、「環境設定」よりpostgresql を設定する必要がある。postgresql はwindows の場合、「C:\Program Files\PostgreSQL\x.x」に格納され、pathは「C:\Program Files\PostgreSQL\x.x\etc」に設定する。(x.xはpostgresql のversionを示す。)

・これで、コマンドプロンプトで psqlが使えるようになっているので、ローカルで以下のコマンドでアクセスしてみる。

psql -U ロール名 -d データベース名

===

・次に、外部のクライアントPCからデータベースにアクセスを試みる。

このためには、windows server 側のセキュリティ設定、「受信の規則」でport番号5432を解放しなくてはならない。

また、postgresql のconfファイルを設定する必要がある。一つ目は、「C:\Program Files\PostgreSQL\x.x\pg_hba.conf」の設定である。これは、IPv local connections: の下に以下の記述を置けば良い。

# IPv4 local connections:

host all all xxx.yyy.zzz.ttt/32 md5

md5 はパスワード暗号方式で接続することを表す。xxx.yyy.zzz.tttには自分が使うIPアドレスを入力すればよい。

もう一つは、「postgresql.conf」の変更である。この設定ではサーバー側の”接続を受け付ける”IPアドレスを設定する。listen_addresses が記述されている行を、

listen_addresses = '*'

と変更すれば良い。(私の場合デフォルトでこの設定となっていた。)

以上の設定をサーバー側で終えた後、クライアント側ではpsqlを使えるようにし、以下のコマンドを打つことで、データベースにアクセスすることができる。

psql -h ホスト名 -p ポート番号 -U ロール名 -d データベース名

===

いちいち手動で参照するわけにはいかないので、pythonのプログラムからpostgresqlにアクセスできるようにする。(centos8の場合)

下の参考資料をもとに、下記のコマンドを打った後、python ファイルからimport psycopg をして、接続を確認。(なぜか自分の環境では、psycopg2を使うことができず、psycopgを使うことになった。)

# dnf -y install python3-devel postgresql-devel

# pip install psycopg-binary

# pip install psycopg


参考資料

https://izumii19.hatenablog.com/entry/2018/12/09/152714

https://qiita.com/Nats72/items/d687b4561c988555392e

0コメント

  • 1000 / 1000