Как мне сделать скрипт, который правильно вводит 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