2016年06月24日

PostgreSQLをインストールする⇒ポータブルファイル作成

<検証環境>
OS : Windows 10 Pro
PostgreSQL : 9.5.0
備考 :
https://sourceforge.net/projects/postgresqlportable/files/ から PostgreSQL(PostgreSQLPortable_9.5.0.paf.exe) を入手する。
https://www.microsoft.com/ja-jp/download/details.aspx?id=48145 から Visual Studio 2015 の Visual C++ 再頒布可能パッケージ(vc_redist.x64.exe) を入手する。

通常、Linux(CentOSなど)上で動作させているApache、Tomcat、PostgreSQLを利用したWebアプリケーションを、Windows上でも手軽に動作させたいというご要望をいただいたため、オールインワンのポータブルファイルを作成したときのメモです。
特にインストーラなどを実行することなく、単純なファイルコピーで実現できるように意識しました。
※Webアプリケーション自体は元々、クロスプラットフォーム対応済みです。

1. Visual Studio 2015 の Visual C++ 再頒布可能パッケージ をインストールする。

2. PostgreSQL をインストールする。
  ※"インストール先 フォルダ"に C:\portable\PostgreSQLPortable95 を指定する。
  ※"PostgreSQL Portableを実行"にチェックしない。

3. C:\portable\PostgreSQLPortable95\App\PgSQL\pgsql.cmd を編集する。
  chcp 1252 > nul → chcp 932 > nul

4. C:\portable\PostgreSQLPortable95\PostgreSQLPortable.exe を実行する。
  ( C:\portable\PostgreSQLPortable95\Data が存在しないため、初期化が行われる。)

5. postgres=# \q を入力し、PostgreSQLを停止する。

6. C:\portable\PostgreSQL起動.bat を作成する。
-----
@echo off
set POSTGRESQL_HOME=C:\portable\PostgreSQLPortable95
mkdir %POSTGRESQL_HOME%\Data\data\pg_tblspc
mkdir %POSTGRESQL_HOME%\Data\data\pg_twophase
start %POSTGRESQL_HOME%\PostgreSQLPortable.exe

-----
  ※ pg_tblspc、pg_twophase (すべて最初は空フォルダ)が存在しなければ起動に失敗するため。

7. C:\portable\PostgreSQL起動.bat を実行し、PostgreSQLを起動する。

8. 別途、(内包されたpgAdminを利用して)テーブル作成、チューニングなどを行う。
  [接続情報]Host : localhost、Port : 5432、Maintenance DB : postgres、Username : postgres。
2016.07.10 追記
また、内包された各種コマンド(createdb.exe、createuser.exe、psql.exe等)を利用することもできる。
例)
C:\portable\PostgreSQLPortable95\App\PgSQL\bin>createuser -U postgres -D -A -P webapp1user
C:\portable\PostgreSQLPortable95\App\PgSQL\bin>createdb -U postgres webapp1db
C:\portable\PostgreSQLPortable95\App\PgSQL\bin>psql -U postgres -f "C:\portable\webapp1db.textdump" webapp1db

なお、( C:\portable をzip圧縮などした)ポータブルファイルと Visual Studio 2015 の Visual C++ 再頒布可能パッケージ を配布する。
posted by red at 15:12| Comment(0) | TrackBack(0) | Windows:ミドルウェア | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック