我正在尝试将hstore
类型引入我正在开发的项目的数据库中。但问题是我的开发机器上安装的Postgres服务器版本比生产机器上的版本略高。虽然我可以在本地执行CREATE EXTENSION
命令,但此命令在生产计算机上不可用。
有没有办法创建一个在9.1和9.0上都安装hstore
的脚本?
答案 0 :(得分:1)
对于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>
答案 1 :(得分:1)
...如果有办法确定系统中当前安装了哪个PG版本。
问问Postgres:
psql -c 'select version()' postgres
或者,如果您确信psql版本同步:
psql --version