October 2013  |  01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

CentOS6にPostgreSQL Studioを入れてみた

JUGEMテーマ:コンピュータ
JUGEMテーマ:インターネット
PostgreSQL Studio は、オープンソースソフトウェアとして公開されていて、Webサービスとして利用可能なDBオブジェクトブラウザ。
http://www.postgresqlstudio.org/

機能としては、以下のバージョンのPostgreSQLに対応していて、
  • PostgreSQL 9.2.x
  • PostgreSQL 9.3.x
  • Postgres-XC 1.0.x
  • Postgres-XC 1.1.x
  • vFabric Postgres 9.2.4
Javaアプリケーションサーバがインストールされていれば、以下のO/Sで稼働する。
  • Windows
  • Linux
  • Mac
  • Unix
対応しているアプリケーションサーバは次のとおり。
  • Tomcat
  • Jetty
  • JBoss
  • GlassFish
  • など…
特徴としては、WebブラウザからHTTP/S接続ができて、5432ポートをブロックするファイアウォールの内側のPostgreSQLに、外部から安全にアクセスすることが可能。
そして、スキーマの表示や定義、問い合わせの実行などができる。。。詳しくはPostgreSQL Studioのサイトをご覧あれ。

さて、インストールの仕方だけど、CentOS6に Tomcat6を入れて、WARファイルをデプロイ(アップロードするだけ)してみた。
JDK 1.6 あるいは、JDK 1.7に対応しているそうなので、まずは、OpenJDK 1.7を入れてみた。
 
======================================
1. JDK 1.7 と Tomcat6のインストール
======================================
参照: http://kajuhome.com/tomcat6.shtml

(1.) Java 1.7 OpenJDKのインストール
# yum -y install java-1.7.0-openjdk
(2.) Tomcat6 とWebAppsのインストール
# yum -y install tomcat6 tomcat6-webapps tomcat6-admin-webapps
(3.) Tomcat6の起動設定
# chkconfig tomcat6 on
# chkconfig tomcat6 --list
tomcat6         0:off   1:off   2:on    3:on    4:on    5:on    6:off
# /etc/init.d/tomcat6 restart

======================================
2. PostgreSQL Studioのデプロイ
======================================
(1.) PgStudioの warファイルをダウンロード 

pgstudio_1.0.tar.bz2 を次のサイトからダウンロードする:
http://www.postgresqlstudio.org/download/
そして、展開する。
# tar xvfj pgstudio_1.0.tar.bz2 
pgstudio.war
# ls -l pgstudio.war 
-rw-r--r-- 1 root root 21198588  9月 27 04:50 2013 pgstudio.war

(2.) pgstudio.warをデプロイする

デプロイといっても、アップロードするだけで終わり。
Tomcat managerにアクセスして:
http://ドメイン名:8080/manager/html

i) "WAR file to deploy" の部分までスクロールして、
ii) ファイルチューザで"pgadmin.war" ファイルを選択し、
iii) [Deploy it]ボタンを押す。

(3.) pgstudioにアクセスしてみる。
アプリケーションリストからリンクをクリックしてもよし。直接入力する場合は、次のURLになる。
http://ドメイン名:8080/pgstudio/


(4.) 日本語化

ログイン画面のラベルは次のように変更できた。
# cd /var/lib/tomcat6/webapps/pgstudio
# cp -p PgStudio.jsp PgStudio.jsp.bak
# cp  PgStudio.jsp.bak PgStudio.jsp
# vi  PgStudio.jsp
# diff PgStudio.jsp.bak  PgStudio.jsp
42c42
<       <h3>Connect</h3>
---
>       <h3>接続</h3>
51c51
<         <div class="msg-error">Error: <%= err_msg %></div>
---
>         <div class="msg-error">エラー: <%= err_msg %></div>
59c59
<                     <label class="connectlabel " for="id_db_host">Database Host</label>
---
>                     <label class="connectlabel " for="id_db_host">DBホスト</label>
66c66
<                     <label class="connectlabel" for="id_db_port">Database Port</label>
---
>                     <label class="connectlabel" for="id_db_port">DBポート</label>
73c73
<                     <label class="connectlabel" for="id_db_name">Database Name</label>
---
>                     <label class="connectlabel" for="id_db_name">データベース名</label>
80c80
<                     <label class="connectlabel" for="id_user_name">Username</label>
---
>                     <label class="connectlabel" for="id_user_name">ユーザ名</label>
87c87
<                     <label class="connectlabel" for="id_password">Password</label>
---
>                     <label class="connectlabel" for="id_password">パスワード</label>
145c145
<           <span id="loadingMsg">Loading styles and images...</span><br/>
---
>           <span id="loadingMsg">スタイルとイメージを読み込み中...</span><br/>
# pwd
/var/lib/tomcat6/webapps/pgstudio
アプリ自体のラベルの日本語化はソースコードを変更する必要がありそう。たとえば、"Foreign Tables" というラベルがソースコードの MenuStackPanel.java にあるが、次のようにハードコードされている。

> ./src/com/openscg/pgstudio/client/panels/navigation/MenuStackPanel.java:                panel.add(ftables, TextFormat.getHeaderString("Foreign Tables", Images.foreignTables()), true);

ま、ラベルを日本語にしなくても、使えるので大丈夫。
pgstudio login

スキーマ名、テーブル名、カラム名などを日本語にしても大丈夫。

※難点として、IEを使ってると表示がずれる。


1
pagetop