Uma solução rápida e suja seria editar /etc/profile.d/pg_dump.sh:
PG_DUMP=/usr/pgsql-9.1
export PG_DUMP
PATH=$PG_DUMP/bin:$PATH
export PATH
Estou tentando definir o $ PATH para pegar a versão mais recente do pg_dump, já que estou recebendo um erro de incompatibilidade ao fazer uma migração no meu aplicativo Rails (recentemente alterei o tipo de esquema para SQL).
Eu adicionei um novo arquivo em /etc/profile.d chamado pg_dump.sh, e dentro desse put:
PG_DUMP=/usr/pgsql-9.1
export PG_DUMP
PATH=$PATH:$PG_DUMP/bin
export PATH
Olhando para o echo $ PATH, recebo:
/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
E ainda recebo o erro.
Preciso alterar o pedido? Em caso afirmativo, como?
Saída de '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
E a saída de 'which pg_dump':
/usr/bin/pg_dump
Mensagem de erro no limite de execução 'implantar: migrar':
** [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
saída de 'pg_dump --version':
pg_dump (PostgreSQL) 8.4.11
Eu prefiro essa resposta que explica como criar um link simbólico para o novo versão . (reimpressão abaixo por conveniência):
sua nova versão do pg_dump não está no seu PATH, tudo que você precisa fazer é remover a versão antiga, e criar uma nova ligação simbólica para qualquer diretório no seu PATH, por exemplo, / usr / bin.
Da seguinte forma:
sudo ln -s /actual/new/pg_dump /usr/bin/pg_dump
Para encontrar o novo pg_dump, você precisa saber a localização da instalação do postgresql. Se você usou homebrew, é /usr/local/Cellar/postgresql/9.2.2/bin (ou qualquer que seja sua versão)