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コメント