Назад | Перейти на главную страницу

pg_dump не работает - мне нужно изменить порядок $ PATH?

Я пытаюсь настроить $ 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