【PostgreSQL-0020】CentOS7にPostgreSQL12をインストールする

JPiere8.2もしくはJPiere9をインストールするために、オープンソースのデータベースPostgreSQL12をCentOS7にインストールする方法について、調査及び研究し、その成果をまとめています。

Step1:PostgreSQLをYumリポジトリに登録する

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

Step2:PostgreSQL12をCentOS7にインストールする

PostgreSQLと追加モジュール(contrib)をインストールします。iDempiereでは、contribもインストールすることが推奨されています。

sudo yum -y install postgresql12-server postgresql12-contrib

バージョンの確認。インストールが完了したら、それを確認するために、インストールしたPostgreSQLのバージョンを確認しておきましょう!

psql --version

Step3:データベースの初期化と自動起動の設定

データベースの初期化

sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

自動起動

PostgreSQLの自動起動設定

sudo systemctl enable postgresql-12

Step4:初期設定

postgresql.confの設定

ファイルのパス : /var/lib/pgsql/12/data/postgresql.conf

ファイルを編集するために、権限の設定をゆるくする。

sudo chmod 777 /var/lib/pgsql/

sudo chmod 777 /var/lib/pgsql/12/

sudo chmod 777 /var/lib/pgsql/12/data

sudo chmod 777 /var/lib/pgsql/12/data/postgresql.conf

vi /var/lib/pgsql/12/data/postgresql.conf

   listen_address = 'localhost'のコメントアウトを解除 -> 先頭の"#"を削除

[Insert]キーで、編集モード。

[Escape]キーで、編集モード終了。

[:wq] で 保存してエディタを終了。

 

pg_hba.confの設定

ファイルのパス : /var/lib/pgsql/12/data/pg_hba.conf

ファイルを編集するために、権限の設定をゆるくする。

sudo chmod 777 /var/lib/pgsql/12/data/pg_hba.conf

vi /var/lib/pgsql/12/data/pg_hba.conf

  • METODをtrustに修正
  • レプリケーション関連の設定はとりあえず”#”でコメントアウト

[Insert]キーで、編集モード。

[Escape]キーで、編集モード終了。

[:wq] で 保存してエディタを終了。

 

アクセス権限の再設定

/var/lib/pgsql/12/dataのアクセス制限を700か750にしないとPostgreSQLの再起動が行えないので、アクセス権限の再設定を行う。

sudo chmod 700 /var/lib/pgsql/12/data

※700にしないと、PostgreSQLが起動できない。

※PostgreSQL11からは、initdbのオプション指定で700でなくても起動できるようになった様子(参照: https://www.sraoss.co.jp/tech-blog/pgsql/11-0/  )

 

PostgreSQLの再起動

設定の変更を有効にするためにPostgreSQLを再起動

sudo systemctl restart postgresql-12

【補足】PostgreSQLのスタートとストップのコマンド

◆開始

sudo systemctl start postgresql-12

◆終了

sudo systemctl stop postgresql-12

Step5:iDempiereをインストールするための設定

adempiereユーザーロールの作成

sudo su - postgres

psql -U postgres -c "CREATE ROLE adempiere SUPERUSER LOGIN PASSWORD 'adempiere'"

 logout

 

iDempiereのデータベースの作成

createdb --template=template0 -E UNICODE -O adempiere -U adempiere idempiere

psql -d idempiere -U adempiere -c "ALTER ROLE adempiere SET search_path TO adempiere, pg_catalog"

 

iDempiereのデータベースのリストア

psql -d idempiere -U adempiere -f ExpDat.dmp

【補足説明】iDempiereとJPiereとはダンプファイルが異なります。

iDempiereの環境を構築する場合とJPiereの環境を構築する場合とでは、リストアするダンプファイルが異なりますので、注意して下さい!!

【iDempiereのダンプファイル】

  • iDempiereサーバーのData -> seed の中にある、Adempiere_pg.jar

【JPiereのダンプファイル】

  • JPCSのDataフォルダの中にある、ExpDat.dmpファイル

その他

iDempiereデータベースの削除

dropdb -U adempiere idempiere

関連するコンテンツ