Я пытаюсь настроить $ PATH для получения последней версии pg_dump, так как в настоящее время я получаю ошибку несоответствия при выполнении миграции в моем приложении Rails (недавно я изменил тип схемы на SQL).
Я добавил новый файл в /etc/profile.d под названием pg_dump.sh и внутри него поместил:
PG_DUMP=/usr/pgsql-9.1
export PG_DUMP
PATH=$PATH:$PG_DUMP/bin
export PATH
Посмотрев на echo $ PATH, я получаю:
/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/pgsql-9.1/bin:/root/bin
И я все еще получаю ошибку.
Мне нужно изменить заказ? Если да, то как?
Вывод ls /usr/pgsql-9.1/bin:
clusterdb droplang pg_archivecleanup pg_ctl pg_standby psql
createdb dropuser pg_basebackup pg_dump pg_test_fsync reindexdb
createlang ecpg pgbench pg_dumpall pg_upgrade vacuumdb
createuser initdb pg_config pg_resetxlog postgres vacuumlo
dropdb oid2name pg_controldata pg_restore postmaster
И вывод 'which pg_dump':
/usr/bin/pg_dump
Сообщение об ошибке при запуске cap 'deploy: migrate':
** [out :: 46.4.9.199] pg_dump: server version: 9.1.4; pg_dump version: 8.4.11
** [out :: 46.4.9.199] pg_dump: aborting because of server version mismatch
** [out :: 46.4.9.199] rake aborted!
** [out :: 46.4.9.199] Error dumping database
вывод 'pg_dump --version':
pg_dump (PostgreSQL) 8.4.11
Я предпочитаю этот ответ, объясняющий, как символическая ссылка на новую версию. (перепечатываем ниже для удобства):
ваша новая версия pg_dump отсутствует в вашем PATH, все, что вам нужно сделать, это удалить старую версию и символически привязать новую к любому каталогу в вашем PATH, например, / usr / bin.
Как показано ниже:
sudo ln -s /actual/new/pg_dump /usr/bin/pg_dump
Чтобы найти новый pg_dump, вам нужно знать место установки postgresql. Если вы использовали homebrew, это /usr/local/Cellar/postgresql/9.2.2/bin (или какая у вас версия)
Быстрое и грязное решение - отредактировать /etc/profile.d/pg_dump.sh:
PG_DUMP=/usr/pgsql-9.1
export PG_DUMP
PATH=$PG_DUMP/bin:$PATH
export PATH