다른 대안으로는 Mac OS X Server에 대해 뭔가를 제공 할 수 있다고 생각합니다. 나는 매우 비슷한 문제를 겪고있다. 심지어 나의 경우에도 -h localhost
은 네트워킹이 많은 경우에 아주 좋은 아이디어 인 방식으로 PostregSQL에서 비활성화 되었기 때문에 작동하지 않았다. Mac OS X Server의 경우는 launchd
을 통해 PostgreSQL 서버를 시작합니다.
일부 힌트 당신은 주변을 둘러과 같이
serveradmin
서비스 : postgres
launchd
구성 파일 : /System/Library/LaunchDaemons/org.postgresql.postgres.plist
- 데이터베이스 폴더 :
/var/pgsql
- 소켓 폴더 :
/var/pgsql_socket
그 범죄자 구성 파일은 데이터베이스 폴더 아래 postgresql.conf
에서 찾을 수있는 몇 가지 구성 지시문을 무시합니다. 특히이 두 :
unix_socket_group
unix_socket_permissions
당신은 _postgres
계정이 서버를 실행하는 데 사용되는 활성 사용자가 _postgres
그룹의 구성원 인 경우 모든도에 액세스 할 수 있는지 확인할 수 있습니다. dscl . -read /Groups/_postgres GroupMembership
을 실행하여
당신은 그룹이 구성원이 기본적으로 그것을 볼 수 있습니다 _devicemgr
_calendar
_teamsserver
_www
난 당신이 두 가지 옵션이 있습니다 같아요. _postgres 그룹에 자신을 추가하거나 launchd
구성 plist 파일을 변경하십시오. 나중에 일반 텍스트 편집입니다 ...그러나 보안에주의하십시오. 이렇게하면 변경하는 기준에 맞는 서버를 열 수 있습니다 (마지막 단락 참조).
전자는 Server.app
또는 dscl
명령 줄 유틸리티를 통해 수행 할 수 있습니다. 첫 번째 옵션은 아마도 추가 할 것이 아무것도 필요하지 않습니다. 시스템 계정 (보기 -> 시스템 계정 숨기기/표시)을 볼 수 있는지 확인하십시오. 그래서이 _postgres
그룹에 사용자를 추가해야 CLI 마약 중독자의 종류 해요 :
물론
sudo dscl . -append /Groups/_postgres GroupMembership $USER
당신이 맥 OS X Server 데이터베이스에 대한 액세스 권한을 부여하고 있기 때문에 당신이 다음 계정으로 실행 무엇을 조심해야한다 백 엔드. 따라서 _postgres
계정을 보호하거나 별도의 사용자를 생성하여 데이터베이스를 조작하거나 거기에 사적인 것을 저장하지 마십시오.
'-h' 스위치에 +1, 로컬 연결 (처음에 슬래시)으로 작동합니다. Unix 도메인 소켓의 경로는'postgresql의 [unix_socket_directory'] (http://www.postgresql.org/docs/current/static/runtime-config-connection.html#GUC-UNIX-SOCKET-DIRECTORY) 속성에 의해 결정됩니다 .conf'. –
'unix_socket_directory'속성은 비어있을 수 있습니다 (설정 한 적이 한번도 없습니다).이 경우 기본적으로/tmp /가 기본값입니다. – wildplasser
팁 주셔서 감사합니다. postgres의 표준 OS X 패키지를 사용하고 있습니다.이 패키지는 유닉스 도메인 소켓 설정을 설명합니다. – Wells