その他

自動起動の設定

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

※コンテナ上のマシンで特定のバージョンの systemd をお使いの際、 systemctl stop を実行するとハングアップするケースがあります。その場合は物理マシンか仮想マシンをお使いください。

systemd のバージョンが 246 以降の場合

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

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

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

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

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

    [Service]
    Environment=PGDATA=/var/lib/pgsql/11/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'

systemd のバージョンが 246 より前の場合

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

    /etc/systemd/system/(サービス名).service
    

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

    .include /lib/systemd/system/powergres11.service
    
    [Service]
    Environment=PGDATA=/var/lib/pgsql/11/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/powergres11/powergres11
    

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

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

    # chkconfig powergres11 on
    

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

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

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

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

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

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

# chkconfig powergres11 off

旧バージョンからの移行

旧バージョンからの移行は、同一バージョン系列内の移行 (例えば、V11 から V11 Update 1) と、PowerGres V11 より前のバージョンからの移行 (例えば、V9.1 から V11) によって方法が異なります。

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

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

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

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

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

    Updating packages...
    準備しています...              ################################# [100%]
    更新中 / インストール中...
       1:powergres11-libs-11.2-1.el7      ################################# [  7%]
       2:powergres11-11.2-1.el7           ################################# [ 14%]
       3:powergresadmin-1.4.1-1.el7       ################################# [ 21%]
       4:powergresadmin-devel-1.4.1-1.el7 ################################# [ 29%]
       5:powergres11-contrib-11.2-1.el7   ################################# [ 36%]
       6:powergres11-server-11.2-1.el7    ################################# [ 43%]
       7:powergres11-docs-11.2-1.el7      ################################# [ 50%]
    整理中 / 削除中...
       8:powergres11-server-11.1-1.el7    ################################# [ 57%]
       9:powergres11-contrib-11.1-1.el7   ################################# [ 64%]
      10:powergresadmin-devel-1.3.0-1.el7 ################################# [ 71%]
      11:powergres11-11.1-1.el7           ################################# [ 79%]
      12:powergresadmin-1.3.0-1.el7       ################################# [ 86%]
      13:powergres11-libs-11.1-1.el7      ################################# [ 93%]
      14:powergres11-docs-11.1-1.el7      ################################# [100%]
    
    Changing configuration for administration tool... Done.
    

    以下の警告が出力される場合がありますが、とくに問題はないので無視してください。

    警告: /etc/sysconfig/powergres11/pwg_license_key.conf は /etc/sysconfig/powergres11/pwg_license_key.conf.rpmnew として作成されました。
    
  4. 以下のメッセージが表示されれば、アップデートは完了です。

    PowerGres on Linux 11 update completed.
    
  5. サービスを再起動します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

OS ディレクトリ
Red Hat Enterprise Linux 9
Rocky Linux 9
AlmaLinux 9
(CD-ROMをマウントしたディレクトリ)/packages/el9-x86_64
Red Hat Enterprise Linux 8
CentOS 8
Rocky Linux 8
AlmaLinux 8
(CD-ROMをマウントしたディレクトリ)/packages/el8-x86_64
Red Hat Enterprise Linux 7
CentOS 7
(CD-ROMをマウントしたディレクトリ)/packages/el7-x86_64
Amazon Linux 2 (CD-ROMをマウントしたディレクトリ)/packages/amzn2-x86_64
Red Hat Enterprise Linux 6
CentOS 6
(CD-ROMをマウントしたディレクトリ)/packages/el6-x86_64

PostGIS

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

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

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

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

    Amazon Linux 2 以外の場合

    # cd (パッケージの格納先のディレクトリ)
    # yum install powergres11-postgis《バージョン》_11-*
    

    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 powergres11-postgis《バージョン》_11-*
    
  2. PostGIS のデータ型や関数を作成

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

    =# \c (データベース名)
    You are now connected to database "(データベース名)" as user "postgres".
    =# \encoding UTF8
    =# CREATE EXTENSION postgis;
    CREATE EXTENSION
    =# CREATE EXTENSION postgis_topology;
    CREATE EXTENSION
    
  3. 動作確認

    =# \d
                     List of relations
      Schema  |       Name        |   Type   |  Owner
    ----------+-------------------+----------+----------
     public   | geography_columns | view     | postgres
     public   | geometry_columns  | view     | postgres
     public   | raster_columns    | view     | postgres
     public   | raster_overviews  | view     | postgres
     public   | spatial_ref_sys   | table    | postgres
     topology | layer             | table    | postgres
     topology | topology          | table    | postgres
     topology | topology_id_seq   | sequence | postgres
    (8 rows)
    
    =# SELECT postgis_version();
                postgis_version
    ---------------------------------------
     2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
    (1 row)
    

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

textsearch_ja

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

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

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

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

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

    =# \c (データベース名)
    You are now connected to database "(データベース名)" as user "postgres".
    =# CREATE EXTENSION textsearch_ja;
    CREATE EXTENSION
    
  3. 動作確認

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

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

pg_bigm

pg_bigm は 2-gram (バイグラム) による全文検索モジュールです。 機能の詳細につきましては pg_bigm プロジェクトの ホームページ をご覧ください。

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

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

    # cd (パッケージの格納先のディレクトリ)
    # rpm -ivh powergres11-pg_bigm-*
    準備しています...              ################################# [100%]
    更新中 / インストール中...
       1:powergres11-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 powergres11-eudc-*
    準備しています...              ################################# [100%]
    更新中 / インストール中...
       1:powergres11-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 rows)
    

レポジトリの有効化手順

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

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

SCL レポジトリ

RHEL 7 の場合

# subscription-manager repos --enable rhel-server-rhscl-7-rpms

CentOS 7 の場合

# yum install centos-release-scl

Amazon Linux 2 の場合

# yum install http://mirror.centos.org/altarch/7/extras/aarch64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm

お問い合わせ

技術的なお問い合わせ

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

販売・サポートに関するお問い合わせ

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