その他

自動起動の設定

システムの起動時に PowerGres を自動的に起動するように設定する手順は以下のとおりです。 設定は root ユーザで行う必要があります。

RHEL 9 / Rocky Linux 9 / AlmaLinux 9 の場合

  1. 予め用意されたUnitファイルをコピーします。

    # cp /lib/systemd/system/powergresplus10.service /etc/systemd/system/(サービス名).service
    

    サービスの追加設定用ディレクトリを作成し、設定ファイルを配置します。

    # mkdir /etc/systemd/system/(サービス名).service.d
    # vi /etc/systemd/system/(サービス名).service.d/custom.conf
    

    例えば、データベースディレクトリが /var/lib/pgsql/10/data、ポートが 5432 であれば、以下のように設定ファイルを編集します。

    [Service]
    Environment=PGDATA=/var/lib/pgsql/10/data
    Environment=PGPORT=5432
    
  2. 以下のコマンドを実行し、システムのサービスとして登録します。

    # systemctl enable (サービス名)
    ln -s '/etc/systemd/system/(サービス名).service' '/etc/systemd/system/multi-user.target.wants/(サービス名).service'
    

複数の自動起動を設定するには、異なるサービス名を指定し、上記と同じ手順で行います。

自動起動の設定が有効になっているかどうかを確認するには、以下のコマンドを実行します。

# systemctl is-enabled (サービス名)
enabled

自動起動の設定を解除するには、以下のコマンドを実行します。

# systemctl disable (サービス名)
rm '/etc/systemd/system/multi-user.target.wants/(サービス名).service'

RHEL 7, 8 / CentOS 7, 8 / Rocky Linux 8 / AlmaLinux 8 / Amazon Linux 2 の場合

  1. 以下の設定ファイルを作成し、データベースディレクトリとポートを指定します。

    /etc/systemd/system/(サービス名).service
    
    例えば、データベースディレクトリが /var/lib/pgsql/10/data、ポートが 5432 であれば、以下のように設定ファイルを編集します。

    .include /lib/systemd/system/powergresplus10.service
    
    [Service]
    Environment=PGDATA=/var/lib/pgsql/10/data
    Environment=PGPORT=5432
    
  2. 以下のコマンドを実行し、システムのサービスとして登録します。

    # systemctl enable (サービス名)
    ln -s '/etc/systemd/system/(サービス名).service' '/etc/systemd/system/multi-user.target.wants/(サービス名).service'
    

複数の自動起動を設定するには、異なるサービス名を指定し、上記と同じ手順で行います。

自動起動の設定が有効になっているかどうかを確認するには、以下のコマンドを実行します。

# systemctl is-enabled (サービス名)
enabled

自動起動の設定を解除するには、以下のコマンドを実行します。

# systemctl disable (サービス名)
rm '/etc/systemd/system/multi-user.target.wants/(サービス名).service'

RHEL / CentOS 6 の場合

  1. 以下の設定ファイルを作成し、データベースディレクトリとポートを指定します。

    /etc/sysconfig/powergresplus10/powergresplus10
    

    例えば、データベースディレクトリが /var/lib/pgsql/10/data、ポートが 5432 であれば、以下のように設定ファイルを編集します。

    PGDATA=/var/lib/pgsql/10/data
    PGPORT=5432
    
  2. 以下のコマンドを実行し、システムのサービスとして登録します。

    # chkconfig powergresplus10 on
    

複数の自動起動を設定するには、以下のように、起動スクリプトのシンボリックリンクを適当な名前で作成し、シンボリックリンクと同名の設定ファイルにデータディレクトリとポートを指定し、システムのサービスとして追加して登録します。

# ln -s /etc/rc.d/init.d/powergresplus10 /etc/rc.d/init.d/powergresplus10-secondary
# vi /etc/sysconfig/powergresplus10/powergresplus10-secondary
# cat /etc/sysconfig/powergresplus10/powergresplus10-secondary
PGDATA=/var/lib/pgsql/10/data2
PGPORT=5433
# chkconfig --add powergresplus10-secondary
# chkconfig powergresplus10-secondary on

自動起動の設定が有効になっているかどうかを確認するには、以下のコマンドを実行します。 コマンドの引数にはシステムのサービス名、つまり、起動スクリプトのファイル名を指定します。

# chkconfig --list powergresplus10
powergresplus10     0:off   1:off   2:on    3:on    4:on    5:on    6:off

0 から 6 までの数字はシステムのランレベルを表しており、ランレベルごとに自動起動の設定が有効になっているかどうかが on / off で表示されます。

自動起動の設定を解除するには、以下のコマンドを実行します。

# chkconfig powergresplus10 off

core ダンプ

PostgreSQL では、データベースサーバのプロセスがクラッシュすると、OS がデータディレクトリに巨大な core ファイルを出力します。 このファイルは障害の調査には必要なものですが、データベースを格納するディスクの容量を圧迫してしまいます。

PowerGres Plus は、core ファイルを任意のディレクトリに格納できます。 また、出力するデータを限定することにより、core ファイルを小さくすることもできます。 この機能は、Windows のミニダンプ (またはクラッシュダンプ) でも利用できます。

core ファイルを出力するディレクトリとサイズを制御するために次のパラメータが postgresql.conf に用意されています。

core_directory (string)

core ファイルの出力先ディレクトリを絶対パスで指定します。 パラメータを指定しない場合、データディレクトリが指定されたものとみなします。 このパラメータはサーバ起動時のみ設定可能です。

core_contents (enum)

core ファイルに含める内容を指定します。 none を指定した場合、core_directory の設定にかかわらず core ファイルをダンプしません。 minimum を指定した場合、共有メモリの内容を core ファイルにダンプしません。 full を指定した場合、すべての内容を core ファイルにダンプします。 デフォルトは minimum です。 このパラメータはサーバ起動時のみ設定可能です。

また、PowerGres Plus では確実に core を採取するために pg_ctl-c オプションは無効となり、core_contents パラメータにのみ依存して core ファイルを採取します。

DB 情報取得ツール

DB 情報取得ツールは、PowerGres Plus に関するトラブル発生の際、調査 / 分析に必要なデータベース環境の情報を取得するためのツールです。

使用前の準備

DB 情報取得ツールの使用前に以下の設定を行ってください。

  1. 環境変数 PATH に、/opt/powergresplus10/bin を追加します。

  2. 環境変数 PGDATA に、データディレクトリを設定します。

  3. 環境変数 PGPORT に、通信ポート番号を設定します (省略した場合は 5432 になります)。

  4. PowerGres Plus を起動します。

    PowerGres Plus が停止している場合、取得できる情報が限定されます。

  5. スーパーユーザ (root) のパスワードをひかえておきます。

    一部の情報をスーパーユーザで取得するため、DB 情報取得ツール実行中にスーパーユーザのパスワードを求めてきます。

使用方法

スーパーユーザ以外の一般ユーザで、以下のコマンドを実行します。

% pgx_getenvdata [情報取得間隔(秒) 情報取得回数]

DB 情報取得ツールが取得する情報の一部は、複数回繰り返して取得することが可能です。

そうする場合は、第一パラメタに情報を取得する間隔を指定し、第二パラメタに情報を取得する回数を指定します。 これらを両方とも省略した場合、1 回だけ情報を取得します。 片方だけを省略することはできません。

複数回繰り返して取得することができる情報は、性能情報とコネクション情報、ロック情報です。

出力情報

DB 情報取得ツール実行時のカレントディレクトリに取得した情報を格納した圧縮ファイル (envdt{月日時分}.tar.gz) を出力します。

旧バージョンからの移行

同一バージョン系列内の移行手順

同一バージョン系列内の移行の場合は、データベースクラスタや設定をそのまま引き継ぐことができるので、データのダンプ・リストアを行う必要はありません。 PowerGres Plus V10 を最新版にするだけで、データ、設定を引き継いで使用できます。

  1. アップデートスクリプトを実行し、PowerGres Plus V10 を最新版にします。

    # sh (CD-ROMをマウントしたディレクトリ)/update.sh
    
  2. 使用許諾契約書の内容が表示されます。 よくお読みの上、同意される場合は「yes」と入力します。

    Do you agree to the license terms (yes/no): yes
    
  3. パッケージがアップデートされます。

    Updating packages...
    準備しています...              ################################# [100%]
    更新中 / インストール中...
       1:powergresplus10-libs-10.10-1.el7 ################################# [  7%]
       2:powergresplus10-10.10-1.el7      ################################# [ 14%]
       3:powergresadmin-1.4.3-1.el7       ################################# [ 21%]
       4:powergresadmin-devel-1.4.3-1.el7 ################################# [ 29%]
       5:powergresplus10-contrib-10.10-1.e################################# [ 36%]
       6:powergresplus10-server-10.10-1.el################################# [ 43%]
       7:powergresplus10-docs-10.10-1.el7 ################################# [ 50%]
    整理中 / 削除中...
       8:powergresadmin-devel-1.4.0-1.el7 ################################# [ 57%]
       9:powergresplus10-server-10.7-1.el7################################# [ 64%]
      10:powergresplus10-contrib-10.7-1.el################################# [ 71%]
      11:powergresadmin-1.4.0-1.el7       ################################# [ 79%]
      12:powergresplus10-10.7-1.el7       ################################# [ 86%]
      13:powergresplus10-libs-10.7-1.el7  ################################# [ 93%]
      14:powergresplus10-docs-10.7-1.el7  ################################# [100%]
    
    Changing configuration for administration tool...
    Done.
    
  4. 以下のメッセージが表示されれば、アップデートは完了です。

    PowerGres Plus (Linux) 10 update completed.
    
  5. サービスを再起動します。

    管理ツールよりサービスの再起動を行います。操作手順の詳細は PowerGres Administration Tool マニュアルの「サーバの再起動」を参照して下さい。

PowerGres Plus V10 より前のバージョンからの移行

PowerGres Plus V10 より前のバージョンから移行する場合、データベースクラスタや設定は、そのままでは引き継ぐことができません。 いったんダンプ (バックアップ) を取り、こちらを V10 にてリストアする必要があります。

  1. PowerGres Plus V10 をインストールします。

    インストール方法については「インストールの手順」を参照して下さい。

  2. ダンプを取得します。

    稼働中の旧バージョンのデータベースクラスタに対して、新バージョンの pg_dumpall を使用してダンプを取得します。 以下のように実行します。

    $ /opt/powergresplus10/bin/pg_dumpall -h localhost -U postgres > dumpall.sql
    

    この際、他のユーザがアクセスできないようにアクセス制限 (pg_hba.conf を編集する等) をして下さい。

  3. 現在稼働中のサービスを停止します。

  4. 新たにデータベースクラスタを作成します。

    PowerGres Plus V10 のデータベースクラスタを新たに作成します。 管理ツールで行う場合、PowerGres Administration Tool マニュアル「サーバの作成」を参照して下さい。

    なお、新データベースクラスタを旧データベースクラスタと同じディレクトリパスに作成する場合は、旧データベースクラスタは移行が完了するまで削除せずに退避させることを推奨します。

  5. 新データベースクラスタでサービスを起動します。

    管理ツールで行う場合、 PowerGres Administration Tool マニュアル「サーバの起動」を参照して下さい。

  6. 取得したダンプファイルからデータをリストアします。

    ダンプファイルをリストアし、データを移行します。 管理ツールで行う場合、 PowerGres Administration Tool マニュアル「バックアップ・リストア」を参照して下さい。

    透過的データ暗号化機能を利用しているテーブル空間がダンプに含まれている場合、予めキーストアのオープンが必要です。 管理ツールで行う場合、 PowerGres Administration Tool マニュアル「透過的データ暗号化」を参照して下さい。 コマンドライン上でキーストアの操作を行う場合はこちらを参照して下さい。

  7. 設定の移行をします。

    設定の移行は、旧バージョンと新バージョン間でパラメータが異なる場合があるので、手動で行います。 パラメータ差異などを確認した上で、旧バージョンの設定ファイルを参考に新バージョンにて、適切な設定を行って下さい。 管理ツールで行う場合、PowerGres Administration Tool マニュアルの「設定」を参照して下さい。

  8. 旧バージョンをアンインストールします。

    移行後は、旧バージョンのアンインストールを行ってください。

付属ソフトウェアのインストール

付属ソフトウェアのパッケージは手動でインストールする必要があります。 パッケージは OS ごとに用意されており、以下のディレクトリに格納されています。

OS ディレクトリ
Red Hat Enterprise Linux 9
Rocky Linux 9
AlmaLinux 9
《製品ファイルを展開したディレクトリ》/packages/el9-x86_64
Red Hat Enterprise Linux 8
CentOS 8
Rocky Linux 8
AlmaLinux 8
《製品ファイルを展開したディレクトリ》/packages/el8-x86_64
Red Hat Enterprise Linux 7
CentOS 7
《製品ファイルを展開したディレクトリ》/packages/el7-x86_64
Amazon Linux 2 《製品ファイルを展開したディレクトリ》/packages/amzn2-x86_64
Red Hat Enterprise Linux 6
CentOS 6
《製品ファイルを展開したディレクトリ》/packages/el6-x86_64

PostGIS

PostGIS は地理情報を取り扱うためのモジュールです。 機能の詳細につきましては PostGIS プロジェクトの ホームページ をご覧ください。

  1. PostGIS の RPM パッケージをインストール

    PostGIS は PGDG および EPEL 提供のパッケージに依存しています。 あらかじめ PGDG および EPEL の Yum リポジトリを追加しておく必要があります。 それぞれのレポジトリを有効にする手順はこちらをご覧ください。

    レポジトリを有効にしたら、コマンドラインより以下を実行します。

    Amazon Linux 2 以外の場合

    # cd (パッケージの格納先のディレクトリ)
    # yum install powergresplus10-postgis{バージョン}_10-*
    

    Amazon Linux 2 の場合

    # rpm -ivh --replacepkgs --replacefiles http://mirror.centos.org/centos/7/os/x86_64/Packages/boost-serialization-1.53.0-28.el7.x86_64.rpm
    # cd (パッケージの格納先のディレクトリ)
    # yum install --disableplugin=priorities powergresplus10-postgis{バージョン}_10-*
    
  2. PostGIS のデータ型や関数を作成

    psql コマンドラインより、以下を実行します。(\c はデータベース名指定)

    =# \c (データベース名)
    データベース "(データベース名)" にユーザ"postgres"として接続しました。
    =# \encoding UTF8
    =# CREATE EXTENSION postgis;
    CREATE EXTENSION
    =# CREATE EXTENSION postgis_topology;
    CREATE EXTENSION
    
  3. 動作確認

    =# \d
                       リレーション一覧
     スキーマ |       名前        |     型     |  所有者
    ----------+-------------------+------------+----------
     public   | geography_columns | ビュー     | postgres
     public   | geometry_columns  | ビュー     | postgres
     public   | raster_columns    | ビュー     | postgres
     public   | raster_overviews  | ビュー     | postgres
     public   | spatial_ref_sys   | テーブル   | postgres
     topology | layer             | テーブル   | postgres
     topology | topology          | テーブル   | postgres
     topology | topology_id_seq   | シーケンス | postgres
    (8 行)
    
    =# SELECT postgis_version();
                postgis_version
    ---------------------------------------
     2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
    (1 行)
    

    以上のように動作を確認することができます。

    注意

    予め ogdi がインストールされている環境では CREATE EXTENSION 時に以下のようなエラーが発生する可能性があります。

    =# CREATE EXTENSION postgis;
    ERROR: could not load library "/opt/powergresplus10/lib/rtpostgis-2.5.so": /usr/gdal23/lib/libgdal.so.20: undefined symbol: ecs_SetReportErrorFunction
              

    ogdi のバージョンが古いことが原因ですので PGDG レポジトリよりインストールを行ってください。

    # yum install ogdi
              

textsearch_ja

textsearch_ja は形態素解析 (MeCab) を使用した日本語全文検索です。

  1. textsearch_ja, mecab の RPM パッケージをインストール

    コマンドラインより、以下を実行します。

    # cd (パッケージの格納先のディレクトリ)
    # rpm -ivh powergresplus10-textsearch_ja-* powergresplus10-mecab-*
    準備しています...              ################################# [100%]
    更新中 / インストール中...
       1:powergresplus10-mecab-0.996-2.el7################################# [ 33%]
       2:powergresplus10-textsearch_ja-9.0################################# [ 67%]
       3:powergresplus10-mecab-ipadic-2.7.################################# [100%]
    
  2. 拡張 textsearch_ja のインストール

    psql コマンドラインより、以下を実行します。(\c はデータベース名指定)

    =# \c (データベース名)
    データベース "(データベース名)" にユーザ"postgres"として接続しました。
    =# CREATE EXTENSION textsearch_ja;
    CREATE EXTENSION
    
  3. 動作確認

    =# SELECT to_tsvector('japanese', 'すもももももももものうち');
          to_tsvector
    -----------------------
     'すもも':1 'もも':2,3
    (1 行)
    

    以上のように動作を確認することができます。 デフォルトの状態では UTF8 のデータベースで使用できます。

pg_bigm

機能の詳細につきましては pg_bigm プロジェクトの ホームページ をご覧ください。

  1. pg_bigm の RPM パッケージをインストール

    コマンドラインより、以下を実行します。

    # cd (パッケージの格納先のディレクトリ)
    # rpm -ivh powergresplus10-pg_bigm-*
    準備しています...              ################################# [100%]
    更新中 / インストール中...
       1:powergresplus10-pg_bigm-1.2.20161################################# [100%]
    
  2. 拡張 pg_bigm のインストール

    psql コマンドラインより、以下を実行します (\c はデータベース名指定)。

    =# \c (データベース名)
    データベース "(データベース名)" にユーザ"postgres"として接続しました。
    =# CREATE EXTENSION pg_bigm;
    CREATE EXTENSION
    
  3. 動作確認

    =# SELECT show_bigm('PostgreSQLの全文検索');
                                show_bigm
    -----------------------------------------------------------------
     {の全,全文,文検,検索,"索 "," P",Lの,Po,QL,SQ,eS,gr,os,re,st,tg}
    (1 行)
    

    以上のように動作を確認することができます。

EUDC

EUDC は シフト JIS / EUC_JP と UTF-8 間の外字領域変換モジュールです。

  1. EUDC の RPM パッケージをインストール

    コマンドラインより、以下を実行します。

    # cd (パッケージの格納先のディレクトリ)
    # rpm -ivh powergresplus10-eudc-*
    準備しています...              ################################# [100%]
    更新中 / インストール中...
       1:powergresplus10-eudc-1.2.0-2.el7 ################################# [100%]
    
  2. 拡張 eudc のインストール

    psql コマンドラインより、以下を実行します (\c はデータベース名指定)。

    =# \c (データベース名)
    データベース "(データベース名)" にユーザ"postgres"として接続しました。
    =# CREATE EXTENSION eudc;
    CREATE EXTENSION
    
  3. 動作確認

    =# SELECT * FROM show_eudc();
     Conversion Function | Source | Destination | Is Default? 
    ---------------------+--------+-------------+-------------
     sjis_eudc_to_utf8   | SJIS   | UTF8        | yes
     utf8_to_sjis_eudc   | UTF8   | SJIS        | yes
     euc_jp_eudc_to_utf8 | EUC_JP | UTF8        | yes
     utf8_to_euc_jp_eudc | UTF8   | EUC_JP      | yes
    (4 行)
    

レポジトリの有効化手順

各ソフトウェアインストールに必要となるレポジトリの有効化手順を以下に示します。

PGDG レポジトリ

Amazon Linux 2 の場合

# rpm -ivh --nodeps https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %rhel)-$(rpm -E %_arch)/pgdg-redhat-repo-latest.noarch.rpm
# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/pgdg-redhat-all.repo

Amazon Linux 2 以外の場合

# yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %rhel)-$(rpm -E %_arch)/pgdg-redhat-repo-latest.noarch.rpm

EPEL レポジトリ

RHEL 9 の場合

# subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

Rocky Linux 9, AlmaLinux 9 の場合

# dnf config-manager --enable crb
# dnf install epel-release

RHEL 8 の場合

# subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

CentOS 8, Rocky Linux 8, AlmaLinux 8 の場合

# dnf config-manager --set-enabled powertools
# dnf install epel-release

RHEL 7 の場合

# subscription-manager repos --enable rhel-*-optional-rpms \
  --enable rhel-*-extras-rpms \
  --enable rhel-ha-for-rhel-*-server-rpms
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

CentOS 7 の場合

# yum install epel-release

Amazon Linux 2 の場合

# amazon-linux-extras install epel

お問い合わせ

SRA OSS LLC
powergres-sales@sraoss.co.jp