Contents
実行環境
- Windows 7 SP1 64bit
- コマンドプロンプトの代わりにConEmu 151208
を使用
関連ウェブページ、本ブログの過去記事
- PostgreSQL 9.5 RC1 Released(2015.12.18)
- 9.5 Release Notes
- What's New in 9.5
- EnterpriseDB - Download PostgreSQL Binaries(zip achive)
- ポータブル版
PostgreSQL:データベース初期化と起動・終了を分ける(5月2日) - ポータブル版
PostgreSQL:起動・終了・再起動を一つのコンソールで(5月3日) - Windows
で PostgreSQL 9.5 Beta 1 をポータブルに動かす(10月13日)
今日の手順は
(1)ZIP のダウンロードと解凍
前項に挙げたEnterpriseDB↓
全部を解凍しなくとも、とりあえず
(2)Visual C++ 2013 ランタイムのコピー
ちょうど一昨日の記事で書いた(3)データベース初期化
解凍した$ cd R:\postgresql-9.5.0-rc1 $ "bin/initdb" -U postgres -D data -E utf8 --locale=C データベースシステム内のファイルの所有者は"********"ユーザでした。 このユーザがサーバプロセスを所有しなければなりません。 データベースクラスタはロケール"C"で初期化されます。 デフォルトのテキスト検索設定はenglishに設定されました。 データベージのチェックサムは無効です。 ディレクトリdataを作成しています ... ok サブディレクトリを作成しています ... ok デフォルトのmax_connectionsを選択しています ... 100 デフォルトの shared_buffers を選択しています ... 128MB selecting dynamic shared memory implementation ... windows 設定ファイルを作成しています ... ok data/base/1にtemplate1データベースを作成しています ... ok pg_authidを初期化しています ... ok 依存関係を初期化しています ... ok システムビューを作成しています ... ok システムオブジェクトの定義をロードしています ... ok 照合順序を作成しています ... このプラットフォームではサポートされません 変換を作成しています ... ok ディレクトリを作成しています ... ok 組み込みオブジェクトに権限を設定しています ... ok 情報スキーマを作成しています ... ok PL/pgSQL サーバサイド言語をロードしています ... ok template1データベースをバキュームしています ... ok template1からtemplate0へコピーしています ... ok template1からpostgresへコピーしています ... ok データをディスクに同期しています...ok 警告: ローカル接続向けに"trust"認証が有効です。 pg_hba.confを編集する、もしくは、次回initdbを実行する時に-Aオプショ ン、または、--auth-localおよび--auth-hostを使用することで変更するこ とができます。 Success. You can now start the database server using: "bin\pg_ctl" -D "data" -l logfile start
問題なければ最後に
(4)起動・再起動・終了用のバッチファイル作成
PostgreSQL@echo off set pgdir=./ set ctl=%pgdir%/bin/pg_ctl set dir=%pgdir%/data set pid=%dir%/postmaster.pid if exist "%pid%" ( echo postmaster.pid exists and PostgreSQL have been started possibly. goto ask ) else ( "%ctl%" -D "%dir%" start ) :ask set /p inp="press [R] to restart PostgreSQL, [Q] to quit : " if "%inp%"=="R" ( "%ctl%" -D "%dir%" restart ) else if "%inp%"=="Q" ( "%ctl%" -D "%dir%" stop goto :eof ) goto ask
↓ 起動した様子。ログをファイルに出す指定をしてないので(pg_ctl
↓ 試しに再起動させた様子。pg_ctl
こんな感じで
(5)psql で接続テスト
念のため後は、フォルダ全体をどこに移しても同じようにアドホックにサーバを使えて便利。データフォルダの場所を変える場合はまだ試してないけど、たぶんバッチファイル内の変数