pgenv2

  • ローカルマシン上で複数バージョンのPostgreSQLをインストールして管理するためのツール
  • テストや開発時に役に立つことを目的として作成
  • レプリケーションクラスタを構築したり、動作確認を行なうのにも有用

動作要件

  • Bash 4.2 or later

インストール

$ git clone https://github.com/moritoru81/pgenv2.git
$ cd pgenv2
$ source install.sh

使用方法

利用可能なバージョンを表示

$ pgenv versions

インストール

$ pgenv install 10.4

デフォルト使用を10,4にする

$ pgenv global 10.4

クラスタ

クラスタ作成

$ pgenv cluster -D clusterdir -s standby primary

クラスタ停止

$ pgenv cluster -D clusterdir stop -a

クラスタ起動

$ pgenv cluster -D clusterdir start -a

クラスタ状態表示

$ pgenv cluster -D clusterdir status

クラスタノード追加/削除

$ pgenv cluster -D clusterdir ctrl --attach --fork-off primary standby2
$ pgenv cluster -D clusterdir ctrl --dettach  standby2

クラスタのログをtail

# 全てのインスタンスの最新ログをtail
$ pgenv cluster -D clusterdir tail -f --all

# primaryの最新ログのみtail
$ pgenv cluster -D clusterdir tail -f primary

# 全てのインスタンスの全てのログをtail
$ pgenv cluster -D clusterdir tail -f --all --all-logs

拡張機能

拡張機能の雛形を作成

$ pgenv extension init myext

拡張機能をビルド

$ cd myext
$ pgenv extension install -v @all

拡張機能の確認

$ pgenv extension run -v @all 'initdb  ${ver}data'
$ pgenv extension run -v @all 'pg_ctl start -l $ver.log -D ${ver}data -o "-p $((9000+i))"'
$ pgenv extension run -v @all 'psql -p $((9000+i)) postgres -c "create extension myext"'
$ pgenv extension run -v @all 'psql -p $((9000+i)) postgres -c "select myext()"'

参考リンク

[PR]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-06-24 (日) 10:19:10 (146d)
GO TO TOP