我正在嘗試將hstore
類型引入到我正在開發的項目的數據庫中。但問題在於我的開發機器上安裝的Postgres服務器版本稍微比生產機器上的版本要新。雖然我可以簡單地在本地執行CREATE EXTENSION
命令,但此命令在生產計算機上不可用。如何在9.0和9.1中正確引入hstore的腳本?
有沒有辦法在9.1和9.0上安裝hstore
的腳本?
我正在嘗試將hstore
類型引入到我正在開發的項目的數據庫中。但問題在於我的開發機器上安裝的Postgres服務器版本稍微比生產機器上的版本要新。雖然我可以簡單地在本地執行CREATE EXTENSION
命令,但此命令在生產計算機上不可用。如何在9.0和9.1中正確引入hstore的腳本?
有沒有辦法在9.1和9.0上安裝hstore
的腳本?
爲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>
...如果有一種確定系統中當前安裝哪個PG版本的方法。
向Postgres的:
psql -c 'select version()' postgres
或者,如果你有信心,PSQL的版本同步:
psql --version
這可能是它,只是如果有一種方法來確定哪個PG版本當前安裝在系統中。 –