その他
自動起動の設定
システムの起動時に PowerGres を自動的に起動するように設定する手順は以下のとおりです。 設定は root ユーザで行う必要があります。
RHEL 9 / Rocky Linux 9 / AlmaLinux 9 の場合
-
予め用意された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
- 以下のコマンドを実行し、システムのサービスとして登録します。
# 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 の場合
-
以下の設定ファイルを作成し、データベースディレクトリとポートを指定します。
/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
-
以下のコマンドを実行し、システムのサービスとして登録します。
# 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 の場合
-
以下の設定ファイルを作成し、データベースディレクトリとポートを指定します。
/etc/sysconfig/powergresplus10/powergresplus10
例えば、データベースディレクトリが /var/lib/pgsql/10/data、ポートが 5432 であれば、以下のように設定ファイルを編集します。
PGDATA=/var/lib/pgsql/10/data PGPORT=5432
-
以下のコマンドを実行し、システムのサービスとして登録します。
# 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 情報取得ツールの使用前に以下の設定を行ってください。
-
環境変数 PATH に、/opt/powergresplus10/bin を追加します。
-
環境変数 PGDATA に、データディレクトリを設定します。
-
環境変数 PGPORT に、通信ポート番号を設定します (省略した場合は 5432 になります)。
-
PowerGres Plus を起動します。
PowerGres Plus が停止している場合、取得できる情報が限定されます。
-
スーパーユーザ (root) のパスワードをひかえておきます。
一部の情報をスーパーユーザで取得するため、DB 情報取得ツール実行中にスーパーユーザのパスワードを求めてきます。
使用方法
スーパーユーザ以外の一般ユーザで、以下のコマンドを実行します。
% pgx_getenvdata [情報取得間隔(秒) 情報取得回数]
DB 情報取得ツールが取得する情報の一部は、複数回繰り返して取得することが可能です。
そうする場合は、第一パラメタに情報を取得する間隔を指定し、第二パラメタに情報を取得する回数を指定します。 これらを両方とも省略した場合、1 回だけ情報を取得します。 片方だけを省略することはできません。
複数回繰り返して取得することができる情報は、性能情報とコネクション情報、ロック情報です。
出力情報
DB 情報取得ツール実行時のカレントディレクトリに取得した情報を格納した圧縮ファイル (envdt{月日時分}.tar.gz) を出力します。
旧バージョンからの移行
同一バージョン系列内の移行手順
同一バージョン系列内の移行の場合は、データベースクラスタや設定をそのまま引き継ぐことができるので、データのダンプ・リストアを行う必要はありません。 PowerGres Plus V10 を最新版にするだけで、データ、設定を引き継いで使用できます。
-
アップデートスクリプトを実行し、PowerGres Plus V10 を最新版にします。
# sh (CD-ROMをマウントしたディレクトリ)/update.sh
-
使用許諾契約書の内容が表示されます。 よくお読みの上、同意される場合は「yes」と入力します。
Do you agree to the license terms (yes/no): yes
-
パッケージがアップデートされます。
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.
-
以下のメッセージが表示されれば、アップデートは完了です。
PowerGres Plus (Linux) 10 update completed.
-
サービスを再起動します。
管理ツールよりサービスの再起動を行います。操作手順の詳細は PowerGres Administration Tool マニュアルの「サーバの再起動」を参照して下さい。
PowerGres Plus V10 より前のバージョンからの移行
PowerGres Plus V10 より前のバージョンから移行する場合、データベースクラスタや設定は、そのままでは引き継ぐことができません。 いったんダンプ (バックアップ) を取り、こちらを V10 にてリストアする必要があります。
-
PowerGres Plus V10 をインストールします。
インストール方法については「インストールの手順」を参照して下さい。
-
ダンプを取得します。
稼働中の旧バージョンのデータベースクラスタに対して、新バージョンの pg_dumpall を使用してダンプを取得します。 以下のように実行します。
$ /opt/powergresplus10/bin/pg_dumpall -h localhost -U postgres > dumpall.sql
この際、他のユーザがアクセスできないようにアクセス制限 (pg_hba.conf を編集する等) をして下さい。
-
現在稼働中のサービスを停止します。
-
新たにデータベースクラスタを作成します。
PowerGres Plus V10 のデータベースクラスタを新たに作成します。 管理ツールで行う場合、PowerGres Administration Tool マニュアル「サーバの作成」を参照して下さい。
なお、新データベースクラスタを旧データベースクラスタと同じディレクトリパスに作成する場合は、旧データベースクラスタは移行が完了するまで削除せずに退避させることを推奨します。
-
新データベースクラスタでサービスを起動します。
管理ツールで行う場合、 PowerGres Administration Tool マニュアル「サーバの起動」を参照して下さい。
-
取得したダンプファイルからデータをリストアします。
ダンプファイルをリストアし、データを移行します。 管理ツールで行う場合、 PowerGres Administration Tool マニュアル「バックアップ・リストア」を参照して下さい。
透過的データ暗号化機能を利用しているテーブル空間がダンプに含まれている場合、予めキーストアのオープンが必要です。 管理ツールで行う場合、 PowerGres Administration Tool マニュアル「透過的データ暗号化」を参照して下さい。 コマンドライン上でキーストアの操作を行う場合はこちらを参照して下さい。
-
設定の移行をします。
設定の移行は、旧バージョンと新バージョン間でパラメータが異なる場合があるので、手動で行います。 パラメータ差異などを確認した上で、旧バージョンの設定ファイルを参考に新バージョンにて、適切な設定を行って下さい。 管理ツールで行う場合、PowerGres Administration Tool マニュアルの「設定」を参照して下さい。
-
旧バージョンをアンインストールします。
移行後は、旧バージョンのアンインストールを行ってください。
付属ソフトウェアのインストール
付属ソフトウェアのパッケージは手動でインストールする必要があります。 パッケージは 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 プロジェクトの ホームページ をご覧ください。
※ Red Hat Enterprise Linux 9.3 以降、Red Hat Enterprise Linux 8.9、CentOS 8.9、Rocky Linux 9.3 以降、Rocky Linux 8.9、AlmaLinux 9.3 以降、AlmaLinux 8.9、Amazon Linux 2 は PostGIS パッケージに対応していません。
-
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-*
-
PostGIS のデータ型や関数を作成
psql コマンドラインより、以下を実行します。(\c はデータベース名指定)
=# \c (データベース名) データベース "(データベース名)" にユーザ"postgres"として接続しました。 =# \encoding UTF8 =# CREATE EXTENSION postgis; CREATE EXTENSION =# CREATE EXTENSION postgis_topology; CREATE EXTENSION
-
動作確認
=# \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) を使用した日本語全文検索です。
-
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%]
-
拡張 textsearch_ja のインストール
psql コマンドラインより、以下を実行します。(\c はデータベース名指定)
=# \c (データベース名) データベース "(データベース名)" にユーザ"postgres"として接続しました。 =# CREATE EXTENSION textsearch_ja; CREATE EXTENSION
-
動作確認
=# SELECT to_tsvector('japanese', 'すもももももももものうち'); to_tsvector ----------------------- 'すもも':1 'もも':2,3 (1 行)
以上のように動作を確認することができます。 デフォルトの状態では UTF8 のデータベースで使用できます。
pg_bigm
機能の詳細につきましては pg_bigm プロジェクトの ホームページ をご覧ください。-
pg_bigm の RPM パッケージをインストール
コマンドラインより、以下を実行します。
# cd (パッケージの格納先のディレクトリ) # rpm -ivh powergresplus10-pg_bigm-* 準備しています... ################################# [100%] 更新中 / インストール中... 1:powergresplus10-pg_bigm-1.2.20161################################# [100%]
-
拡張 pg_bigm のインストール
psql コマンドラインより、以下を実行します (\c はデータベース名指定)。
=# \c (データベース名) データベース "(データベース名)" にユーザ"postgres"として接続しました。 =# CREATE EXTENSION pg_bigm; CREATE EXTENSION
-
動作確認
=# 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 間の外字領域変換モジュールです。
-
EUDC の RPM パッケージをインストール
コマンドラインより、以下を実行します。
# cd (パッケージの格納先のディレクトリ) # rpm -ivh powergresplus10-eudc-* 準備しています... ################################# [100%] 更新中 / インストール中... 1:powergresplus10-eudc-1.2.0-2.el7 ################################# [100%]
-
拡張 eudc のインストール
psql コマンドラインより、以下を実行します (\c はデータベース名指定)。
=# \c (データベース名) データベース "(データベース名)" にユーザ"postgres"として接続しました。 =# CREATE EXTENSION eudc; CREATE EXTENSION
-
動作確認
=# 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