실행할 PostgreSQL 클라이언트(psql) 버전을 어떻게 지정합니까?

실행할 PostgreSQL 클라이언트(psql) 버전을 어떻게 지정합니까?

내 상황은 다음과 같습니다. CentOS 시스템에 두 가지 버전의 PostgreSQL이 설치되어 있고 이 두 버전에는 두 개의 서로 다른 psql대화형 터미널이 있습니다.

/usr/bin/psql내가 달리면 하나가 위치되어 시작됩니다.psql -U username

또 다른 새로운 것이 있습니다 /usr/pgsql-9.1/bin/psql.

psql명령줄에서 실행할 때 기본적으로 최신 버전이 시작되기를 원합니다. 이것이 어떻게 달성될 수 있습니까?

답변1

또는 심볼릭 링크를 피하고 변경을 방지하려면 $PATH해시 테이블에 명령을 추가할 수 있습니다.

hash -p /usr/pgsql-9.1/bin/psql psql

이렇게 하면 명령이 명령 해시 테이블에 저장되고 다른 명령보다 먼저 실행됩니다(사실 경로 검색은 수행되지 않습니다).

이전에 호출한 command 를 사용하는 경우 해당 명령 psql은 이미 해시 테이블에 있으며 해당 명령을 검색할 때 첫 번째 적중이 됩니다. 이 경우 먼저 다음을 입력하여 이전 항목을 삭제하십시오.

hash -d psql

그런 다음 위의 명령을 실행하십시오. .bashrc원하는 곳에서 받으실 수 있습니다 .

답변2

당신의 편집PATH이런 식으로 /usr/pgsql-9.1/bin/(최신) 것이 앞에 옵니다 /usr/bin/.

패키지 관리자에게 덜 안전한 대안은 새 심볼릭 링크(테스트되지 않음)로 이동/제거/이름 바꾸기 psql/usr/bin/심볼릭 링크를 만드는 것입니다./usr/bin/

> cd /usr/bin
# move the old one however you like
> ln -s /usr/pgsql-9.1/bin/psql .

관련 정보