hstore
開発中のプロジェクトのデータベースに型を導入しようとしています。しかし、問題は、開発マシンにインストールされている Postgres サーバーのバージョンが、運用マシンよりも少し新しいことです。コマンドをローカルで実行することはできますがCREATE EXTENSION
、このコマンドは運用マシンでは使用できません。
hstore
9.1 と 9.0 の両方にインストールするスクリプトを作成する方法はありますか?
hstore
開発中のプロジェクトのデータベースに型を導入しようとしています。しかし、問題は、開発マシンにインストールされている Postgres サーバーのバージョンが、運用マシンよりも少し新しいことです。コマンドをローカルで実行することはできますがCREATE EXTENSION
、このコマンドは運用マシンでは使用できません。
hstore
9.1 と 9.0 の両方にインストールするスクリプトを作成する方法はありますか?
...現在システムにインストールされているPGバージョンを判別する方法があった場合。
Postgresに質問する:
psql -c 'select version()' postgres
または、psqlのバージョンが同期していると確信している場合:
psql --version
9.0 の場合、次のようなスクリプトを使用できます (例: create_hstore.sh):
#!/bin/bash
DB=$1
ARGS="-U postgres -h localhost"
CONTRIB=/usr/pgsql-9.0/share/contrib
[ $# -lt 1 ] && exit 1
# Uncomment following lines if necessary
#createdb $ARGS $DB
#createlang $ARGS plpgsql $DB
psql $ARGS -f $CONTRIB/hstore.sql $DB
そしてそれを呼び出すには:
./create_hstore.sh <db_name>