FireDAC接続用PostgreSQLをオンプレで環境構築(CentOS7)したときの失敗談

Linux / PostgreSQLを、よく理解されている方には、あたりまえのことかもしれませんが、オンプレの環境構築でのインストール設定時に、自分がハマったことを、書かさせていただきます。

内容は、インストール方法は他にも多数ありますが、CentOS7 GnomeDeskTopで、　<font color="Blue">EDBのGUI</font>　と　<font color="Red">yum</font>　の２つのインストールの**パスワードの設定**の違いについてです。
***
Delphi / FireDACでの開発中、手元のオンプレ機器に、yumでインストールしたとき(自分では、いろいろ見ながら正しく設定できているはずと思いながら)接続しようとして、下記のようなエラーでつながらなかった。(EDB版GUIでは、でなかった)
![0001.png](https://qiita-image-store.s3.amazonaws.com/0/59472/7d558b9a-2071-24d7-d916-5d1cb0260f25.png)
[FireDAC][Phys][PG][libpq] could not connect to server: Connection timed out (0x0000274C/10060)
	Is the server running on host "192.168.24.63" and accepting
	TCP/IP connections on port 5432?
![pg_err2.png](https://qiita-image-store.s3.amazonaws.com/0/59472/44c60cc9-90fa-5d32-baec-3b4613dcb11e.png)
[FireDAC][Phys][PG][libpq] password authentication failed for user "postgres"
***
対処確認などとしては、サーバーの
**pghba.conf　の確認**(外部接続の許可が適切にされているか)
IPv4 local connections:
host    all             all             127.0.0.1/32            trust
host    all             all             192.168.24.0/24         md5
**postgres.conf　の確認**
listen_addresses='*'(リッスンアドレス/ポート番号は間違っていないか)
post=5432

**その他、ファイアウォールなども確認し、どうも正しく設定されているはずだが、上記エラーが出る(pgAdminなどでの接続も同様のエラーが出ます)**
###これは、インストール時に<font color="Red">(パスワードを設定したつもりだが、未設定のまま)</font>　いとうことでした。


ここでの　「パスワード」　は、CentOS7 / **PostgreSQLサーバー**に、**Windows クライアントのFireDAC**から、接続するときの、データベースへ接続するためのパスワードです。
***
###CentOS7で、　GUI　で、インストールの場合は、特に問題はありませんでした。
EDB版のGUIでインストールする場合は、パスワードの設定は、ここ
![passwd2.png](https://qiita-image-store.s3.amazonaws.com/0/59472/15855a43-b6fe-a75c-54d7-a53a6cf9bc3c.png)
で行い、ここで指定した、パスワードが、データベースへのログインのパスワードなので、ハマりどころは、ありません。
***
### CentOS7で、　yum　で、インストールの場合は
**ハマりどころとして**
「postgresユーザでログインできるように、passwdコマンドを使ってpostgresユーザのパスワードを設定します。」といった内容をデーターベースにログインするパスワードと勘違いしてしまっていたことです。
###<font color="Red">passwd postgtes</font> や、<font color="Red">sudo passwd postgtes</font>
![passwd.png](https://qiita-image-store.s3.amazonaws.com/0/59472/13576449-8cdb-9511-8956-73988531d4ce.png)
といった、**投稿記事などを断片的に、見てしまった場合**
postgresユーザでデータベースにログインできるように、passwdコマンドを使ってパスワードを設定する、
といった記事みると、データベースにログインするパスワードと<font color="Red">**勘違いしてしまっていた**</font>(私だけかもしれませんが)
***
###yumインストール時のパスワード設定での注意点は、
###<font color="Red">passwd postgtes</font>　はOSのユーザーのパスワードで、<font color="Red">データベースのログイン用パスワードでは、ありません。</font>
***
###yumでインストールした場合のデータベースへのログインパスワードの設定は、
psqlから
postgres=# **<font color="Blue">alter role ユーザー名 with password 'パスワード';</font>**

(画面はこんな感じになります)
![alter2.png](https://qiita-image-store.s3.amazonaws.com/0/59472/00162b15-a498-db72-35b0-c6e9dc352daa.png)
例)　 alter role postgres with password 'Passwd123';
**<font color="Blue">の手順が必要です。</font>**
***

この2つのインストール方法で、インストールされるパスも、異なりますので、confファイルの位置も異なります。
代表的なパスは
EDB は、/opt/PostgreSQL/バージョン番号/data/*.conf
yum は、/var/lib/pgsql/data/*.conf
などです。
***





PostgreSQLのインストール方法は、Delphiをご使用の方になじみ深い(FirebirdやInterbase)くらべると、Web上の記事が非常に多い(多すぎるくらい)。
ただ、ググってみて、ご自分で使用されるメモ書き的なのも多くヒットし、FireDACでのクラサバ用の接続では、PostgreSQL初心者が、希望する環境構築と該当しない場合もあります。
既に、長期間、使用している、他のデータベースがあれば、なおさら、用語の違いなどを、間違って解釈してしまったりすることに、気をつれねばと、思った次第です。

なにかと、奥深い、PostgreSQLですが、ライセンス、Web上の情報量の多さや、他のシステムなどの連携といったところでは、今後の優位性があると感じています。

Delphi/FireDACで、PostgreSQLの新規ご利用者のなにかしらの、アドバイスになっていれば幸いでございます。
***

またここに、「PostgreSQLのロール」について、詳しく記載されています。
より詳しく、知りたい方は、ご一読を、お薦めします。
https://qiita.com/nuko_yokohama/items/085b75ee4c0938936ab9

***
追記
GUIでのインストール時
Windowsは、<font color="Blue">ロケール　C</font>　の選択でも、問題で憎いと思いますが
CentOS7の場合は、<font color="Red">ロケール　C</font>　を選択するとも、エンコーディングが、<font color="Red">SQLAscii</font>になるので、<font color="Red">注意</font>が必要です。
![sqlascii.png](https://qiita-image-store.s3.amazonaws.com/0/59472/1dd6f8de-5494-638a-44e9-48ac2f72a4f9.png)