PostgreSQLサーバのインストール
データベースサーバ、PostgreSQLサーバのインストール方法を説明する。CentOS 8 x86_64にPostgreSQL13をインストールする前提である。
コマンドは、一部を除き、rootユーザーで実行する。
目次
PostgreSQLのYUMリポジトリの登録
まず、PostgreSQLのyumリポジトリをインストールする。
OSに応じたリポジトリの一覧は以下のページに記載されている。
PostgreSQLYUM Repository
https://yum.postgresql.org/repopackages/
ここでは、CentOS 8 x86_64にインストールするので、「CentOS 8 – x86_64」というリンクのリンク先URLを確認する。
dnfコマンドでリンク先URLを指定して、リポジトリをインストールする。
dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
PostgreSQLのインストール
ビルドインのpostgresqlモジュールを無効化する。
dnf module disable postgresql
PostgreSQLサーバーをインストールする。
このとき、PostgreSQLの管理ユーザpostgresが存在しない場合、作成される。
dnf install postgresql13-server
データベースの初期化とサービスの自動起動設定、開始
データベースを初期化する。
/usr/pgsql-13/bin/postgresql-13-setup initdb
設定ファイルなどは、/var/lib/pgsql/13/data/に存在する。メインの設定ファイルは、postgresql.confである。
ls /var/lib/pgsql/13/data/
PG_VERSION log pg_ident.conf pg_replslot pg_stat_tmp pg_wal postmaster.opts
base pg_commit_ts pg_logical pg_serial pg_subtrans pg_xact postmaster.pid
current_logfiles pg_dynshmem pg_multixact pg_snapshots pg_tblspc postgresql.auto.conf
global pg_hba.conf pg_notify pg_stat pg_twophase postgresql.conf
postgresqlサービスを自動起動設定する。
systemctl enable postgresql-13
psotgresqlサービスを開始する。
systemctl start postgresql-13
PostgreSQL管理ユーザのパスワード設定
PostgreSQLの管理ユーザpostgresのパスワードを設定する。
“postgresqlPassword”の部分には、パスワードを入力する。
su - postgres
psql -c "alter user postgres with password 'postgresqlPassword'"
ALTER ROLE
postgresユーザからrootユーザに戻る
exit
データベースへのリモート接続設定(オプション)
/var/lib/pgsql/13/data/postgresql.confを編集する。
vi /var/lib/pgsql/13/data/postgresql.conf
listen_addressesの値を、受け付けるサーバ側のIPアドレス、またはすべてのインタフェースで受け付ける場合は”*”に変更する。
listen_addresses = '*'
リモート接続を受け入れるように設定する。
vi /var/lib/pgsql/13/data/pg_hba.conf
すべてのIPアドレスからの接続を受け入れる場合は、以下を最終行に追記する。
host all all 0.0.0.0/0 md5
特定のIPアドレスから受け入れる場合は、以下を最終行に追記する。
host all all xxx.xxx.xxx.xxx/32 md5
信頼できるサブネットからのみの接続を受け入れる場合は、以下を最終行に追記する。
host all all 192.168.0.xxx/24 md5
psotgresqlサービスを再起動する。
systemctl restart postgresql-13
ファイアウォールで5432を通すようにする。
firewall-cmd --add-service=postgresql --permanent
firewall-cmd --reload
ターミナルでPostgreSQLに接続
ターミナルでPostgreSQLに接続するには、以下のようにする。
5432というのは、PostgreSQLのTCPポートである。
psql -U <DB User> -h <Server IP> -p 5432
GUIでPostgreSQLに接続
GUIでPostgreSQLに接続する場合は、pgAdminというツールを使う。
pgAdminは、Linux、UNIX、macOS、Windowsで、PostgreSQLの管理ができるツールである。
pgAdmin
https://www.pgadmin.org/