2012-12-11 48 views
1

我正在嘗試將hstore類型引入到我正在開發的項目的數據庫中。但問題在於我的開發機器上安裝的Postgres服務器版本稍微比生產機器上的版本要新。雖然我可以簡單地在本地執行CREATE EXTENSION命令,但此命令在生產計算機上不可用。如何在9.0和9.1中正確引入hstore的腳本?

有沒有辦法在9.1和9.0上安裝hstore的腳本?

回答

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> 
+0

這可能是它,只是如果有一種方法來確定哪個PG版本當前安裝在系統中。 –

1

...如果有一種確定系統中當前安裝哪個PG版本的方法。

向Postgres的:

psql -c 'select version()' postgres 

或者,如果你有信心,PSQL的版本同步:

psql --version 
相關問題