Как мне сделать скрипт, который правильно вводит hstore в 9.0 и 9.1?

Я пытаюсь представить hstore введите в базу данных проекта, который я разрабатываю. Но проблема в том, что на моей машине для разработки установлена ​​немного более новая версия сервера Postgres, чем на рабочей машине. Хотя я могу просто выполнить CREATE EXTENSION Команда локально, эта команда недоступна на производственном компьютере.

Есть ли способ создать скрипт, который установит hstore как на 9.1 и 9.0?

2 ответа

Решение

Для 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
Другие вопросы по тегам