MacPorts를 사용하여 OS X에 Postgres 명령 행 클라이언트 (psql)를 어떻게 설치합니까?


4

Posgtres 명령 행 클라이언트 (일반적으로 Linux의 경우 psql)를 설치하려고합니다. MacPorts (postgresql90 및 postgresql90-server)를 통해 postgres를 설치했지만 여전히 클라이언트가 설치되어 있지 않습니다.

MacPorts를 검색했는데 클라이언트에 대한 경로 나 독립적 인 설치를위한 별도의 포트를 찾을 수 없습니다.

psql 명령 줄 클라이언트를 어떻게 설치합니까?


homebrew equiv.는 여기를 참조하십시오 : dba.stackexchange.com/a/186457/16892
rogerdpack

답변:


5

Macports는 각 버전의 패키지 이름에 버전 문자열이 포함 된 여러 버전의 PosgreSQL을 패키지합니다. 따라서 XY가 주요 및 부 PostgreSQL 릴리스 버전 (이 글을 쓰는 시점에서 8.1-9.4 베타)이 연결된 경우 패키지 이름은 다음과 같습니다.

  • postgresqlXY (클라이언트 'psql'을 설치합니다.)
  • postgresqlXY-server (이것은 서버 부분입니다.)
  • postgresqlXY-doc 등

선택한 버전의 설치 만 활성화하면됩니다. "postgresqlXY"패키지 (모든 버전)를 설치하면 "postgresql_select"패키지를 종속성으로 가져 와서 postgresql의 활성 버전을 쿼리 할 수 ​​있습니다.

$ port select --list postgresql
    Available versions for postgresql:
    none (active)
    postgresqlXY

다음과 같이 활성 버전을 지정할 수 있습니다.

$ port select --set postgresql postgresqlXY
Selecting 'postgresqlXY' for 'postgresql' succeeded. 'postgresqlXY' is now active.

즉 (/ 옵션 / 지방 / 빈 / psql의에서 심볼릭 링크 배치 MacPorts의 원인 이다 (/ 옵션 / 지방 / lib 디렉토리 / postgresqlXY / 빈 / psql의 설치 바이너리에하지 않은 당신은 MacPorts를 설치하기 때문에 경로를) 경로):

$ which psql # That created this symlink to the active version:
/opt/local/bin/psql

/ opt / local / bin / psqlXY를 통해 클라이언트 바이너리의 버전 XY에 항상 액세스 할 수 있습니다. 이는 Macports가 무엇을 선택하든 선택하지 않든 상관없이 설치된 각 버전에 대해 유지되는 또 다른 symlink입니다. 버전 XY를 선택하기 전에 있었으며 경로에서 표준 이진 이름을 제거하기 위해 "없음"을 선택해도 마찬가지입니다.

$ port select postgresql none
Selecting 'none' for 'postgresql' succeeded. 'none' is now active.
$ which psql   # Not on the path because 'none' is active!
$ which psqlXY # But this is always present:
/opt/local/bin/psqlXY

사람들은 다양한 소프트웨어의 여러 버전에 즉시 액세스 할 수 있어야하고, Macports는이 선택 메커니즘과 해당하는 software_select 패키지를 종속성으로 사용하여 약 50 개의 인기있는 예제의 여러 버전을 패키징하여 쉽게 만들 수 있습니다. 목록을보십시오 :

$ port search _select

1

http://www.istarelworkshop.com/2011/01/04/snow_leopard_development_server_postgresql 에서 답을 찾았습니다 .

일반적인 MacPorts 설치와 마찬가지로 PostgreSQL 명령 줄 도구의 경로는 시스템에 알려지지 않았으므로 / etc / paths에 / opt / local / lib / postgresql84 / bin을 추가합니다.

MacPorts는 실행 파일을 설치하지만 경로에 넣지 않는 것 같습니다.



0

최신 psql 클라이언트를 설치했는지 확인하십시오 (예제에서는 93).

sudo port install postgresql93

그런 다음 ~/.bash_profile파일에

PATH=/opt/local/lib/postgresql93/bin/:$PATH export PATH


1
업그레이드 할 때 찾아야하기 때문에 약한 솔루션입니다. ~ / .bash_profile을 엉망으로 만들지 마십시오. 를 실행 port select --list postgresql하고 같은 것을 선택 하십시오 sudo port select --set postgresql postgresql95. 그런 다음 /opt/local/bin에서 PATH에 있는 심볼릭 링크를 찾을 수 있습니다.
Calaf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.