- インストール環境
- PostgreSQL12のインストール
- インストールプログラムのコピー
- インストーラの実行
- データベース作成準備
- データベースオプションの設定
- アクセス許可設定
- PostgreSQL12のサービス開始
- BizMagic用のデータベースユーザ、データベーススキーマ作成
- PostgreSQLパスワードファイルの設定
インストール環境
PostgreSQLの利用には次の環境が必要です
OS : CentOS6.x
メモリ :4GB以上(アクセス数により追加が必要)
その他 :Webサーバと接続できる環境
Webサーバを同一サーバに置いての動作も可能です。
セキュリティ、応答速度を考慮した場合には、別サーバでの運用も可能です。
■NOTE
OSインストール時に設定したタイムゾーンをBizMagicインストール後に変更すると、データの整合性が取れなくなり復旧出来ない状態になりますので、変更されない様ご注意ください。
PostgreSQL12のインストール
- BizMagicインストールプログラム内Linux\setup\のインストーラをご利用ください。
- rootユーザーでの実行例になります。sudoユーザーの場合は適宜変更してください。
インストールプログラムのコピー
インストール用リポジトリを作業ディレクトリにコピーします。
# cp /mnt/dvd(インストールメディの存在するドライブ)pgdg-redhat-repo-latest.noarch.rpm . |
インストーラの実行
- リポジトリをインストールします。
# yum install ./pgdg-redhat-repo-latest.noarch.rpm - PostgreSQL12のインストールを実行します。
# yum install postgresql12-server
データベース作成準備
- Postgresユーザーに切り替えます。
# su - postgres - PostgreSQL12のインストールを実行します。
$ /usr/pgsql-12/bin/initdb -D /var/lib/pgsql/12/data -E EUC_JP --pwprompt --no-locale - スーパーユーザのパスワードを入力します。
新しいスーパユーザのパスワードを入力してください:
再入力してください:
データベースオプションの設定
- confを編集します。
$ vi 12/data/postgresql.conf
■編集箇所1
shared_buffers = 128MB # min 128kB
■編集箇所2[#autovacuum = on]の[#]を削除します。
#autovacuum = on # Enable autovacuum subprocess? 'on' - 保存して終了してください。
アクセス許可設定
Webサーバ、DBサーバ2台構成の場合、アクセス許可の設定が必要になります。アクセス許可設定をDBへ設定します。
/var/lib/pgsql /12/data/pg_hba.confファイルの最終部分に適切な値を追加します。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all trust |
■NOTE
[METHOD]に[md5]や[passowrd]を設定した場合、接続の際にパスワード入力が必要となります。
セキュリティ上安全性が保持できる環境であれば[trust]でも問題ありません。
WebサーバとDBサーバを分けた場合、WebサーバからPostgreSQLを参照できるように、適切なCIDR-ADDRESSを設定してください。
例)Webサーバが192.168.0.1の場合
■POINT
pg_hba.confファイルに設定値の内容は以下の通りです。
TYPE | 該当レコードのタイプを判定します。
[host]の場合SSLもしくは、非SSL接続に対応したTCP/IP接続です。 |
DATABASE | 該当レコードで対応するデータベース名を指定します。
[all]の場合すべてのデータベースと対応します。 |
USER | 該当レコードで対応するデータベースユーザを指定します。
[all]の場合すべてのデータベースユーザと対応します |
CIDR-ADDRESS | 該当レコードに対応するクライアントPCのIPアドレスの範囲を指定します。IPアドレスは数値で表示され、ドメイン名やホスト名では表示されません。 |
METHOD | このレコードに接続する際に使用する認証方式を指定します。
[password]を設定すると接続やバックアップの際に必ずパスワード入力が必要になります。 [trust]を設定すると接続やバックアップの際にパスワード入力は必要ありません。 設定する際はセキュリティについてご注意ください。 |
PostgreSQL12のサービス開始
- Postgresユーザーのログアウト。
$ exit - 自動起動を設定します。
# chkconfig postgresql-12 on - PostgreSQLを起動します。
# service postgresql-12 start
BizMagic用のデータベースユーザ、データベーススキーマ作成
- PostgreSQLへ接続します。
su - postgres $ /usr/pgsql-12/bin/psql -p 5432
psql (12.3)
"help"でヘルプを表示します。
postgres=#
■NOTE
異なるバージョンのPostgreSQLがインストールされている場合、psqlのバージョンによっては接続できない事があります。その場合は、必ず接続するバージョンのpsqlを使用するために、明確にフルパスで実行してください。
PostgreSQL12と9.3などを同一サーバにインストールした場合は、接続(psql実行)時にポート番号を指定する必要があります。 - データベースユーザを作成します。
ostgres=# CREATE ROLE username LOGIN PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity'; CREATE ROLE
postgres=#
*正常終了したメッセージ[CREATE ROLE]を確認ください。
■POINT
赤字部分には[インストール前に決定する事項]で決定したデータベースユーザ名、データベースユーザパスワードを入力します。 - データベーススキーマを作成します。正常終了したメッセージを確認してください。
postgres=# CREATE DATABASE dbname WITH ENCODING='EUC_JP' OWNER=username TEMPLATE template0; CREATE DATABASE
postgres=#
*正常終了したメッセージ[CREATE DATABASE]を確認ください。
■POINT
赤字部分には[インストール前に決定する事項]で決定したデータベースユーザ名を入力します。 - PostgreSQLの接続を解除します。
postgres=# \q
PostgreSQLパスワードファイルの設定
BizMagic簡易バックアップでpostgresユーザーのパスワード入力を省略するために、パスワードファイルを設定します。
- Postgresユーザーでログイン状態である事を確認してください。
whoami postgres
- Postgresユーザーホームディレクトリに移動します。
$ cd - パスワード設定ファイルを作成してください。
$ vi .pgpass - 内容に以下の情報を入力して、保存してください。ホスト名:ポート:データベース:ユーザー:パスワード
例1)
localhost:5432:run:run:runrun例2)
192.168.1.**:5432:run:run:runrun - パスワードファイルのパーミッションを設定します。
$ chmod 600 .pgpass