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/

%d人のブロガーが「いいね」をつけました。