PowerGresは、オープンソースデータベースとして実績・定評のある PostgreSQL をベースに、より安心して使用できるようにサポートサービスを付属したデータベース製品です。
PowerGres は管理ツールとして PowerGres Administration Tool を利用できます。PowerGres Administration Tool を利用することで Web ブラウザからデータベースの管理・監視・運用を行えます。
本稿では、PowerGres と PowerGres Administration Tool のインストールから、基本的なデータベースの操作までを紹介します。
PowerGres を動作させる OS は Windows と Linux の両方を対象に説明します。
なお今回は PowerGres を使用しましたが、PowerGres Plus もほとんどの手順は同様です。
製品版をお持ちでない方は、こちらのページから評価版をダウンロードしてください。
評価版はライセンスキーを「Evaluation」と設定することで、インストール後60日間利用可能です。
PowerGres と PowerGres Administration Tool は個別にダウンロードが必要になります。
また、評価版ではバージョンが古いものが提供されている場合がありますが、インストール手順は同様です。
ダウンロードしたファイルを展開し、ディレクトリ内にあるインストール用のアプリケーションを実行します。
インストールに関しては OS 毎に説明します。
Windows のインストールはGUI上で行います。
PowerGres のzipファイルを展開後、setupフォルダのpowergres-17.9-setup.exe をダブルクリックで実行します。
言語は「Japanese」のままで「OK」を選択します。
「次へ」を選択します。
契約書を読み、「同意する」を選択します。
ライセンスキーの入力欄が表示されます。
ライセンスキーを入力して、「次へ」を選択します。この例では評価版として利用するので「Evaluation」を入力しました。
コンポーネントを選択します。この例ではデフォルトのまま「次へ」を選択します。
インストール先のフォルダを入力します。この例ではデフォルトのまま「インストール」を選択します。
インストールが開始します。
インストールが完了したので「完了」を選択します。
PowerGres のインストール完了後、続いて管理ツールのPowerGres Administration Tool をインストールします。本稿ではPowerGres の設定、起動はPowerGres Administration Tool を使用して行います。
PowerGres Administration Tool のzipファイルを展開後、setupフォルダのpowergresadmin-1.11.1-setup.exe をダブルクリックで実行します。
言語は「Japanese」のままで「OK」を選択します。
「次へ」を選択します。
契約書を読み、「同意する」を選択します。
ユーザ設定の入力欄が表示されます。ここで設定するユーザはPowerGres Administration Tool へログインする時に利用します。(PowerGres のロールとは関係ありません。)
ユーザ名はこの例ではデフォルトの「admin」のまま、パスワードを入力して「次へ」を選択します。
ポート設定です。PowerGres Administration ToolはWebサーバとしてnginxを内蔵しており、PHPを動かしています。この例ではデフォルトのまま「次へ」を選択しますが、他のアプリケーションが利用しているポートと被るようであれば変更してください。
インストール先のフォルダを入力します。この例ではデフォルトのまま「インストール」を選択します。
インストールが開始します。
インストールが完了したので「完了」を選択します。
この時点でPowerGres Administration Tool のサービスが2つ(nginx, PHP fastCGI)登録され、実行中となります。
Linux のインストールはCLI上で行います。
PowerGres のtar.gzファイルを展開後、root アカウントでinstall.sh を実行します。[root@rocky9 ~]# tar xf powergres-17update9-linux.tar.gz [root@rocky9 ~]# cd powergres-17update9-linux/ [root@rocky9 powergres-17update9-linux]# ./install.sh
契約書を読み、「yes」と入力します。
本ソフトウェアプログラムは、以下の「使用許諾契約書」の条件に従って使用 許諾されます。そのため、必ず本ソフトウェアプログラムをインストールする 前に「使用許諾契約書」の条件をお読みいただき、お客様に同意していただく ことが必要です。本ソフトウェアプログラムのインストールが完了しますと、 「使用許諾契約書」の条件に同意したものと見なされます。 (略) Do you agree to the license terms (yes/no): yes
ライセンスキーを入力します。この例では評価版として利用するので「Evaluation」と入力します。
Please enter the license key (XXXX-XXXX-XXXX-XXXX): Evaluation
インストールが開始します。
License key is for evaluation purposes. You can use during the 60-day trial period. Installing packages for database server... 依存関係が解決しました。 ================================================================================================================================================================================================================================= パッケージ アーキテクチャー バージョン リポジトリー サイズ ================================================================================================================================================================================================================================= インストール: powergres17 x86_64 17.9-1.el9 @commandline 2.9 M powergres17-contrib x86_64 17.9-1.el9 @commandline 2.7 M powergres17-docs x86_64 17.9-1.el9 @commandline 13 M powergres17-libs x86_64 17.9-1.el9 @commandline 741 k powergres17-pg_ivm x86_64 1.13-1.el9 @commandline 133 k powergres17-pgaudit x86_64 17.1-1PGDG.el9 @commandline 28 k powergres17-pgvector x86_64 0.8.1-1PGDG.el9 @commandline 109 k powergres17-pgvectorscale x86_64 0.9.0-1PGDG.el9 @commandline 552 k powergres17-pwg_stat_snapshot noarch 1.0-2.el9 @commandline 8.7 k powergres17-server x86_64 17.9-1.el9 @commandline 22 M (略)
インストールが完了します。
インストール処理の内部でRPM ファイルをインストールしているのですが、その時に実行されるスクリプトで、OSアカウント「postgres」が事前に存在しない場合、作成されます。(略) アップグレード済み: openssl-1:3.5.1-7.el9_7.x86_64 openssl-devel-1:3.5.1-7.el9_7.x86_64 openssl-libs-1:3.5.1-7.el9_7.x86_64 インストール済み: openssl-fips-provider-1:3.5.1-7.el9_7.x86_64 powergres17-17.9-1.el9.x86_64 powergres17-contrib-17.9-1.el9.x86_64 powergres17-docs-17.9-1.el9.x86_64 powergres17-libs-17.9-1.el9.x86_64 powergres17-pg_ivm-1.13-1.el9.x86_64 powergres17-pgaudit-17.1-1PGDG.el9.x86_64 powergres17-pgvector-0.8.1-1PGDG.el9.x86_64 powergres17-pgvectorscale-0.9.0-1PGDG.el9.x86_64 powergres17-pwg_stat_snapshot-1.0-2.el9.noarch powergres17-server-17.9-1.el9.x86_64 完了しました! Installing license key... Done. PowerGres on Linux 17 installation completed. [root@rocky9 powergres-17update9-linux]#PowerGres のインストール完了後、続いて管理ツールのPowerGres Administration Tool をインストールします。
本稿ではPowerGres の設定、起動はPowerGres Administration Tool を使用して行います。
PowerGres Administration Tool のtar.gzファイルを展開後、root アカウントでinstall.sh を実行します。[root@rocky9 ~]# tar xf powergresadmin-1.11.1-linux.tar.gz [root@rocky9 ~]# cd powergresadmin-1.11.1-linux/ [root@rocky9 powergresadmin-1.11.1-linux]# ./install.sh契約書を読み、「yes」と入力します。
本ソフトウェアプログラムは、以下の「使用許諾契約書」の条件に従って使用 許諾されます。そのため、必ず本ソフトウェアプログラムをインストールする 前に「使用許諾契約書」の条件をお読みいただき、お客様に同意していただく ことが必要です。本ソフトウェアプログラムのインストールが完了しますと、 「使用許諾契約書」の条件に同意したものと見なされます。 (略) Do you agree to the license terms (yes/no): yes
ユーザ設定の入力欄が表示されます。ここで設定するユーザはPowerGres Administration Tool へログインする時に利用します。 (PowerGres のロールとは関係ありません。)
ユーザ名はこの例ではデフォルトと同じ「admin」、パスワードを入力しています。Please enter username and password to login to administration tool. Username [admin]: admin Password: Confirm password:ポート設定です。PowerGres Administration ToolはWebサーバとしてnginxを内蔵しており、PHPを動かしています。
この例ではデフォルトと同じ値を入力していますが、他のアプリケーションが利用しているポートと被るようであれば変更してください。
Please enter port numbers used for administration tool. HTTP port number [80]: 80 HTTPS port number [443]: 443インストールが開始します。
Installing packages for administration tool... メタデータの期限切れの最終確認: 1:08:03 前の 2026年04月07日 14時42分42秒 に実施しました。 依存関係が解決しました。 ================================================================================================================================================================================================================================= パッケージ アーキテクチャー バージョン リポジトリー サイズ ================================================================================================================================================================================================================================= インストール: powergresadmin noarch 1.11.1-1.el9 @commandline 10 M powergresadmin-devel noarch 1.11.1-1.el9 @commandline 613 k powergresadmin-libmcrypt x86_64 2.5.8-1.el9 @commandline 93 k powergresadmin-libmcrypt-devel x86_64 2.5.8-1.el9 @commandline 15 k powergresadmin-nginx x86_64 2:1.28.0-1.el9 @commandline 425 k powergresadmin-php x86_64 8.2.29-1.el9 @commandline 6.4 M (略)インストールが完了します。
インストール済み: libpq-13.23-1.el9_7.x86_64 powergresadmin-1.11.1-1.el9.noarch powergresadmin-devel-1.11.1-1.el9.noarch powergresadmin-libmcrypt-2.5.8-1.el9.x86_64 powergresadmin-libmcrypt-devel-2.5.8-1.el9.x86_64 powergresadmin-nginx-2:1.28.0-1.el9.x86_64 powergresadmin-php-8.2.29-1.el9.x86_64 完了しました! Changing configuration for administration tool... Done. Creating user for administration tool... Done. Starting administration tool... Done. PowerGres Administration Tool installation completed.この時点で以下に示されるPowerGres Administration Tool 用のnginx とphp-fpmのサービスがpostgres OSアカウントで実行されています。
[sraoss@rocky9 ~]$ systemctl list-units --type=service | grep powergres powergresadmin-nginx.service loaded active running nginx high performance web server powergresadmin-php-fpm.service loaded active running PHP FastCGI Process Manager [sraoss@rocky9 ~]$
ここまででPowerGresはインストールしてあるだけで、設定や起動は行っていない状況です。PowerGres Administration Tool はログインアカウントを作成して起動している状況です。
PowerGres の設定や起動はPostgreSQLと同様の手順で可能ですが、本稿ではPowerGres Administration Tool から行います。
PowerGres Administration Tool はWebブラウザからアクセスして利用するため、Windows とLinux で使用感はほぼ同じとなります。ここからは差異があるときのみOSに言及します。
PowerGres Administration Toolのインストールを実行したホストにあるWeb ブラウザでローカルホストのPowerGres Administration Tool インストール時に設定したHTTPポート番号にアクセスします。設定したポート番号がデフォルトの80番であれば、「http://localhost/」でアクセスし、デフォルト以外の番号を設定していれば「http://localhost:《設定したポート番号》」でアクセスします。ログイン画面が表示されます。
なお、OSのファイアウォール等の設定を行えば、ネットワーク上の他のホストからもアクセス可能です。
PowerGres Administration Tool インストール時にユーザ設定したアカウントを入力します。この例ではユーザ名「admin」とパスワードを入力して「ログイン」します。
ログインするとPowerGres Administration Tool を利用できます。
インストール直後の状態なので、最初にサーバプロファイルを作成します。左のメニューの「サーバプロファイル」を選択します。
プロファイルの画面で「新しいプロファイル」を押下します。
「インストールされているPowerGresを検索」ボタンを押下し、先ほどインストールした「PowerGres V17」が選択できるようになります。選択すると入力項目に値が入りますので、そのまま「作成」します。
作成したプロファイルが一覧に表示されます。
次に左のメニューから「サーバ」を選択します。
サーバの画面で「新しいサーバ」を押下します。
新しいサーバの入力項目が表示されます。
入力後、「次へ」を選択します。
OSの違いでデータディレクトリ、バックアップディレクトリ(オプション)のパスの書式が異なります。
なお、指定するディレクトリが事前に作成していない場合は自動で作成されます。
Windows の例
Linux の例
新しいデータベースクラスタの入力項目が表示されます。ここでPowerGres のスーパーユーザのアカウントを設定します。
PowerGres 起動後はこのスーパーユーザでログインすることになります。ユーザ名はデフォルトのpostgresで良いでしょう。
入力後、「完了」を選択します。内部的にはこの入力値を使って、initdb コマンドを実行しています。
作成したサーバが一覧に表示されます。OSの違いで「操作」にあるボタンが異なります。
Windows の場合、「登録」が表示されます。
Linux の場合、「起動」が表示されます。
Windows では「起動」をする前に「登録」をする必要があります。(Linux では不要です。)
「登録」を選択すると、「サーバをWindows サービスに登録」画面になります。
この画面ではサーバをWindowsサービスとして動作させるために、どのWindowsユーザで起動するかを設定します。
この例ではデフォルトのままシステムユーザの「NT AUTHORITY\NETWORK SERVICE」を指定し、パスワードの入力もせず、「次へ」を選択します。
サーバが登録され、WindowsでもLinux と同様、「起動」ボタンが表示されます。
(Windows では「解除」ボタンも表示されます。これはWindows サービスを解除するときに選択します。)
「起動」を選択します。
PowerGres が起動し、「停止」、「再起動」などを選択するボタンが表示されます。
Windows の場合、サーバ名と同じ”powergres”のサービスが登録され、実行中となります。
Linux の場合、PowerGresのプロセスが起動されます。プロセス名はpostgres になります。[sraoss@rocky9 ~]$ ps -ef | grep postgres postgres 15364 1 0 14:30 ? 00:00:00 /opt/powergres17/bin/postgres -D /var/lib/pgsql/data-power17.9 (略)ここまでがPowerGres の起動の説明となります。
先ほどの、データベースクラスタの作成時に設定したPowerGres のスーパーユーザでログインして設定を行います。
まずは、左のメニューの「ロール」を選択します。ロールの設定をするためにはPowerGres への接続が必要となるため、サーバに接続画面が表示されます。
パスワードを入力して「接続」します。
ロールの一覧が表示されます。「新しいロール」を押下します。
新しいロールの入力項目が表示されます。
この例では、一般ロールとして「testuser」に「ログイン」と「DB 作成」権限を与えて、「作成」します。
ロールの一覧が表示されます。この例では最後の行に追加されていることが確認できます。
次に左のメニューから「データベース」を選択します。
データベースの一覧が表示されます。「新しいデータベース」を押下します。
新しいデータベースの入力項目が表示されます。
この例では、一般ロール「testuser」が所有者となるデータベース「testdb」を「作成」します。
データベースの一覧が表示されます。追加されていることが確認できます。
次に左のメニューから「スキーマ」を選択します。
データベースが「testdb」が選択された状態(変更は可能)になり、スキーマの一覧が表示されます。「新しいスキーマ」を押下します。
新しいスキーマの入力項目が表示されます。
この例では、一般ロール「testuser」が所有者となる「testschema」を「作成」します。
スキーマの一覧が表示されます。追加されていることが確認できます。
以上で、PowerGres Administration Toolを利用してロール・データベース・スキーマの準備ができました。PowerGres Administration Tool はpsql を利用してSQLコマンドの実行ができます。
ここではこの機能を使って、テーブルにデータをINSERTで入れて、SELECTを実行するまでを説明します。
左のメニューから「メンテナンス作業」を選択します。メンテナンス作業画面になるので、「SQL問い合わせを実行」を押下します。
※このときデータベースの接続が解除されていると、データベースの接続画面に遷移する場合があります。その場合はスーパーユーザの情報を入力しデータベースの接続を再度行ってください。
SQL 問い合わせを実行画面が表示され、データベースを選択でき、SQLの入力が可能になります。
この例では下記CREATE TABLE文を入力し「実行」します。
なお、この画面ではスーパーユーザpostgres でログインしているため、ロールtestuserとしてSQLを実行するために先頭でSET ROLE testuserをしています。
また、テーブルを登録するスキーマ名testschemaもテーブル名とともに明記しています。
SET ROLE testuser; CREATE TABLE testschema.employee ( number int, -- 社員番号 name text, -- 名前 position text, -- 役職 date_of_hire date -- 入社日 );
次に下記INSERT文を入力し「実行」します。
ここでは、事前にデフォルトのスキーマ(search_path)をSETコマンドで変更し、SHOW コマンドで値が変更されたかどうかを確認しています。SHOW search_path; SET search_path = testschema; SHOW search_path; INSERT INTO employee VALUES (1981352, '吉本 勘兵衛', 'staff', '2008-04-01'); INSERT INTO employee VALUES (1782822, '長崎 一郎', 'chief', '1988-10-01'); INSERT INTO employee VALUES (2081577, '山田 太郎', 'staff', '2018-04-01'); INSERT INTO employee VALUES (1851139, '大村 祐子', 'chief', '1995-04-01');次に下記SELECT文を入力し「実行」します。
SELECT * FROM employee;
エラーになりました。employee テーブルが見つからないようです。
employee テーブルは testschema スキーマに属するテーブルなので、元のsearch_path = ”user”, public のままでは見つかりません。
改めて、下記SELECT文を入力し「実行」します。
最初にsearch_path をtestschema を設定しています。SET search_path = testschema; SELECT * FROM employee;
今度はSELECTが成功しました。これはPowerGres Administration Tool のpsql は「実行」するたびにPowerGres へ再接続しているためです。そのためSETしたパラメータも次回「実行」時には、セッションが違うために適用されていませんし、テーブル作成時に実行したSET ROLE も適用されていません。
ここまでPowerGres Administration Tool でpsqlを利用する例をご覧いただきましたが、もちろんCLIのpsql も利用できます。[sraoss@rocky9 ~]$ /opt/powergres17/bin/psql -U testuser -d testdb Password for user testuser: psql (17.9) Type "help" for help. testdb=> SELECT * FROM employee; number | name | position | date_of_hire ---------+--------------+----------+-------------- 1981352 | 吉本 勘兵衛 | staff | 2008-04-01 1782822 | 長崎 一郎 | chief | 1988-10-01 2081577 | 山田 太郎 | staff | 2018-04-01 1851139 | 大村 祐子 | chief | 1995-04-01 (4 rows) testdb=> \q [sraoss@rocky9 ~]$ここではPowerGresが起動しているOSの端末においてpsqlを用い、testuser でtestdbにログインしてSELECT文を実行して、最後にセッションを終了しています。
本稿では、PowerGresの概要およびPowerGres のインストールから基本操作までを解説しました。今後はPowerGres 独自の機能などを紹介した記事を掲載予定です。
簡易的な操作も可能でありながらDB運用において有用な機能を搭載し、さらにサポートも充実したPowerGresのご利用をぜひご検討ください。