CentOS8にPostgreSQLをインストール。Windows10からDBeaverで接続
久しぶりにPostgreSQLをインストールしたときの覚書。
環境: CentOS Stream 8, PostgreSQL 14.2
CentOSにPostgreSQLのインストール
リポジトリにあるposgresql-serverのバージョンを確認。
# dnf search postgresql
# dnf info postgresql-server
Available PackagesName : postgresql-serverVersion : 10.19Release : 1.module_el8.6.0+1047+4202cf9aArchitecture : x86_64
# dnf module list postgresql
最新バージョンv14を公式ページに従ってインストールすることにした。
参考: PostgreSQL: Linux downloads (Red Hat family)
# dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# dnf -qy module disable postgresql
インストール
# dnf install postgresql14-server
初期化して自動起動Onしてサーバー起動
# /usr/pgsql-14/bin/postgresql-14-setup initdb
# systemctl enable postgresql-14
# systemctl start postgresql-14
バージョン確認
# psql --version
psql (PostgreSQL) 14.2
設定ファイル(pg_hba.confなど)の場所確認。起動オプションで与えられているはず。
# systemctl status postgresql-14
/usr/pgsql-14/bin/postmaster -D /var/lib/pgsql/14/data/
設定ファイル確認
# cd /var/lib/pgsql/14/data/
# less postgresql.conf
# less pg_hba.conf
postgresユーザーになる
# su - postgres
ここはどこ?
$ pwd
/var/lib/pgsql
プロファイル確認
$ less .bash_profile
データベースに接続してユーザー一覧を表示
$ psql
# \du
# quit
文字コードを確認
参考: PostgreSQL: Documentation: 14: 24.3. Character Set Support
$ psql -l
Name | Owner | Encoding | Collate | Ctype | Access privileges-----------+----------+----------+-------------+-------------+-----------------------postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| | | | | postgres=CTc/postgrestemplate1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| | | | | postgres=CTc/postgres
Windows10からネットワーク経由で接続する
CentOSは開発サーバーなのでLAN内のPCから接続できるようにする。
postgresユーザーの接続パスワード設定
$ psql
# alter role postgres with password 'pass';
# quit
(rootになって)ポート5432を開けるためにfirewalldを設定
サービスに登録されているか確認
# firewall-cmd --get-services | grep postgre
念のため、定義ファイルを確認して登録して再読み込み。
# less /usr/lib/firewalld/services/postgresql.xml
# firewall-cmd --add-service=postgresql --permanent
# firewall-cmd --reload
postgresユーザーになってPostgreSQLサーバーの設定。
# su - postgres
$ cd 14/data/
$ less postgresql.conf
listen_addresses = '*'
ホストベース認証(接続元)の設定
参考: PostgreSQL: Documentation: 14: 21.1. The pg_hba.conf File
$ less pg_hba.conf
# Allow access from LAN
host all all 192.168.10.0/24 scram-sha-256
rootになって再起動
# systemctl restart postgresql-14
無事起動されているかログを確認。
# less log/postgresql-Sun.log
Windows10からDBeaverを使って接続してみる。
DBeaverはMicrosft StoreからDBeaver CE(Community Edition)をインストールした。
接続できないときは下記確認する
- サーバーのログ確認
- # less log/postgresql-Sun.log
- ポートが空いているか。
# ss -atn | grep 5432 - クライアントPCからtelnetで接続できるか
> telnet vm-dev3 5432