WindowsでポータブルPostgreSQL&A5M2(A5:SQL Mk-2)

PostgreSQL

PostgreSQLがなんとポータブル環境で扱えるようになっていました。Aphace+MySQLは「XAMPP」でずいぶん前から使えるようになっていましたが、まさかPostgreSQLまでもポータブル化できるとは便利になりました。

PostgreSQLの起動・終了は至って簡単。
起動は「PostgreSQLPortable.exe」をダブルクリックで起動するだけ。
終了は出ているウインドウを閉じるだけ。
正確には
"App/PsSQL”フォルダにある「pgsql.cmd」をexeが叩いているよう。
他のサイトで紹介されているように先人の方々はこれに工夫してより使いやすくしているようです。

さっそく試してみたので、手順も含めて残しておきます。
まずは結果から。
コマンドプロンプトで確認OK!

データベース開発によくつかわれるA5:SQL Mk-2(敬愛をこめて以後、A5M2と表記します)からの接続もこの通り。

入手~起動~SQL実行~終了

では、入手~起動~SQL実行~終了を紹介します。

1,ダウンロード

https://sourceforge.net/projects/postgresqlportable/」へ行きます。


DOWNLOADボタンを押します。

この画面に移動するので、5秒ほど待つとダウンロードが開始します。

今回は現段階で最新の「PostgreSQLPortable-10.1.1.zip」をダウンロードしました。

2,解凍

右クリック→すべて展開(T)で解凍します。一般的な解凍操作でもOKです。
解凍先はどこでもいいです。この例ではダウンロードしたフォルダで解凍しています。
なんといってもポータブル版なので、配置するフォルダを気にしなくて済むのは助かりますね。


圧縮状態でファイルサイズが26.6MBほどなので解凍時間はほんの数秒です。

「PostgreSQLPortable-10.1.1」というフォルダが出来上がるので、中身を見てみましょう。同じポータブル系のThunderbirdPortableなどと同じようなPortableApp系な構造が見て取れます。

※ちなみに、同じ画面には「PostgreSQLPortable_10.4.1_online.paf.exe」というインストール型(自己解凍?)があります。
こちらは他のサイトで紹介されているような画面が表示され、解凍場所の指定から初期起動までウイザード形式で進みます。


PortableApp系にはおなじみの画面です。やっていることは解凍そのものであるため、どちらをダウンロードしてもよいと思います。

3,起動

「PostgreSQLPortable.exe」をダブルクリックして起動します。
コマンドプロンプトと画面が立ち上がり「Initializing database for first use, please wait....」("初回起動でデータベースを初期化するからお待ちください")と出ます。

数秒まつとこのような文字に切り替わります。


すでに"postgres=#"の文字が!
この時点で、DBの起動から、DBへ接続、postgresコマンドの受付が開始されています。

試しにバージョンを確認してみます
SELECT version();
と入力して、エンターを押しますと・・・


なにやら出てきて、現在のバージョン情報が表示されます。
"PostgresSQL 10.1 , compliled by Visual C++ build 1800, 32-bit"

試しにSELECT文をもう一個試してみます。
SELECT 'HOGE';
こちらを入力し、同じくエンターを押すとこの通り。

※エンターを押す前にセミコロン 「;」をお忘れなく。上記画像のようにセミコロンをうち忘れてエンターを押すと、postgres=#からpostgres-#と表記が変わり、入力したコマンドがまだ終了していないことがわかります。

4,終了

\q
と入力し、エンターを押すと一瞬画面に文字がでてコマンドプロンプトも終了します。
これでpostgresから切断し終了もできました。

ざっくり言うと初期化とは起動時に実行される「pgsql.cmd」が
・"Data"フォルダがなければ、"bin"フォルダの「initdb.exe」をつかって構造初期化
・「pgsql.cmd」内に書かれたDB接続情報("データベース名"・"ユーザ名"・”ポート" ※パスワードはユーザ名と同じ)を使ってPostgreSQL起動、DB接続(なければ作る)
という具合。
ここで、postgresコマンドが受付開始となったわけです。

うまくいかないとき、コマンドプロンプトの画面を閉じて「PostgreSQLPortable-10.1.1」フォルダにある"Data"フォルダを消して、「PostgreSQLPortable.exe」を起動するところから試してみましょう。

A5M2から接続

では、A5M2から接続してみたいと思います。慣れた人であればコマンドで操作するのも便利ですが、やはり開発ツールからDBを操作することで、ER図からDDLを実行したり、トランザクションを貼って疑似命令付きで多数のSQLを試してみたり、開発にテストにはかどることも多いため多用しています。

手順は通常と全く変わらず、DBの登録→接続→SQL実行→できた! です。

1,DBの登録

このコマンドプロンプトの画面が出ている間は接続しています。
A5M2を起動して、メニューの「データベース」→「データベースの追加と削除」→「追加」と進みます。

続いて、"専用接続 オープンソースデータベース(クライアント/サーバ)"にある「PostgreSQL(直接接続)(P)」を押します。

2,DB接続情報入力

DB接続情報を入力します。
初期状態(pgsql.cmdを変更していない)であればこれでいけます。
サーバ名:localhost
データベース名:postgres
ユーザーID:postgres
パスワード:postgres
入力したら「テスト接続」を押して、接続確認します。


無事接続できれば、以下のダイアログが出ます。


失敗した場合はこんなダイアログが出ます。


DB接続情報の間違いの他に、コマンドプロンプトの画面が閉じている(DBが起動していない)などが考えられます。

「OK」を押してDBの登録が完了です。
この時この接続情報に名前を付けることができます。後で変更できますし、変更しても接続自体に影響はないため、そのままで大丈夫です。
左側のツリーに新しく追加されたのが確認できます。

3,接続・実行

では、接続して試してみましょう。
左側のツリーをダブルクリックして接続します。

A5M2は同時に複数のDBに接続できるため、SQLの実行対象となるDBが選択できていない場合があります。ここで色の付いている接続したDBを選択します。

では、SQLを実行しましょう。
先ほどと同じ
SELECT version();
と入力し、を押すか、"Ctrl+Enter"でSQLを実行しましょう(Ctrl+EnterはFlashのコンパイル操作でもありました。懐かしい・・・)
こんな画面が出てればOK。

4,切断・終了

A5M2からの切断は、左のツリーを右クリックして「データベースを閉じる(C)」です。
A5M2を終了します。

応用

後は通常のDBと扱いは全く変わりません。テーブルを作りデータを投入していきましょう。

参考

ポータブル版PostgreSQL:データベース初期化と起動・終了を分ける
初めて知った PostgreSQL の Windows ポータブル版
PostgreSQLのバージョン確認方法

コメント