PostgreSQL v11インストール手順(シングル構成)

CentOS
スポンサーリンク

概要

PostgreSQLバージョン11のインストールとシングル構成の設定方法をサクッと記載する

前提条件

ipv6を無効化していること
・/etc/hostsにipv6の名前解決をしていないこと
・PostgreSQLのPGDATA領域を「/data_v11」とする
・下記、ディレクトがオーナ:postgres、グループ:postgres、パーミッション:755であること
 /data_v11/pgarch
 /data_v11/pgdata
 /data_v11/pgxlog

PostgreSQL version11インストール

各OS用のリポジトリパッケージのURL一覧は、コチラを参照のこと

CentOS7用リポジトリインストール

# yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

PostgreSQL v11 インストール

# yum -y install postgresql11-server postgresql11-contrib

PostgreSQL データベース作成

PostgresSQLサービスファイル修正

# cp -p /usr/lib/systemd/system/postgresql-11.service /usr/lib/systemd/system/postgresql-11.service_org
# vi /usr/lib/systemd/system/postgresql-11.service
---
Environment=PGDATA=/var/lib/pgsql/11/data/
↓(変更)
Environment=PGDATA=/data_v11/pgdata/
---

# systemctl daemon-reload

データベース作成

PostgreSQL v11 インストール

# PGSETUP_INITDB_OPTIONS="-E UTF8 --no-locale" /usr/pgsql-11/bin/postgresql-11-setup initdb
Initializing database ... OK

postgresユーザ 環境変数設定

# su - postgres
$ echo "PATH=/usr/pgsql-11/bin:$PATH" > /var/lib/pgsql/.pgsql_profile
$ echo "PGDATA=/data_v11/pgdata"      >> /var/lib/pgsql/.pgsql_profile
$ exit

PostgreSQLサービス起動

# systemctl start postgresql-11
# systemctl enable postgresql-11

PostgresSQL 設定

postgresql.conf 変更

# cp -p /data_v11/pgdata/postgresql.conf /data_v11/pgdata/postgresql.conf_org
# vi /data_v11/pgdata/postgresql.conf
---
#listen_addresses = 'localhost'
↓(変更)
listen_addresses = '*'

#password_encryption = md5
↓(変更)
password_encryption = scram-sha-256
---

pg_hba.conf 変更

# cp -p /data_v11/pgdata/pg_hba.conf /data_v11/pgdata/pg_hba.conf_org
# vi /data_v11/pgdata/pg_hba.conf
---
host    all             all             127.0.0.1/32            ident
↓(変更)
host    all             all             127.0.0.1/32            ident
host    all             all             0.0.0.0/0               scram-sha-256
---
※すべてのIPV4の接続をsha256認証で許可する

PostgreSQL 再起動

# systemctl restart postgresql-11

ロール作成(LOGIN権限)

# su - postgres
$ psql
postgres=# \du
                                              ロール一覧
 ロール名 |                                    属性                                    | 所属グループ
----------+----------------------------------------------------------------------------+--------------
 postgres | スーパーユーザ, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}

postgres=# CREATE ROLE testuser LOGIN PASSWORD 'testuserpasswd';
CREATE ROLE
postgres=# CREATE ROLE repl REPLICATION PASSWORD 'replpasswd';
CREATE ROLE
postgres=# \du
                                              ロール一覧
 ロール名 |                                    属性                                    | 所属グループ
----------+----------------------------------------------------------------------------+--------------
 infra    |                                                                            | {}
 testuser | スーパーユーザ, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス       | {}
 repl     | ログインできません, レプリケーション可                                        | {}
postgres=# \q

動作確認

$ psql -h [対象サーバIPアドレス(localhost以外)] -U testuser -d postgres
ユーザ testuser のパスワード: *testuser password*
psql (11.X)
help でヘルプを表示します。
postgres-> \q

※psqlでログインできればOK

参考リンク

CentOS 7にPostgreSQL11をインストールする

ありがとうございます

CentOSInfraPostgreSQLv11
スポンサーリンク
インフラエンジニア|パイナップル星人 ブログ

コメント

タイトルとURLをコピーしました