최종 업데이트 :
나는 initdb
명령 을 실행하는 것을 잊었다 .
</ 최종 업데이트>
이 명령을 실행하여
ps auxwww | grep postgres
postgres가 실행되고 있지 않습니다.
> ps auxwww | grep postgres
remcat 1789 0.0 0.0 2434892 480 s000 R+ 11:28PM 0:00.00 grep postgres
이것은 postgresql 서버를 어떻게 시작합니까?
최신 정보:
>pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
sh: /usr/local/var/postgres/server.log: No such file or directory
업데이트 2 :
터치가 성공적이지 않아서 대신이 작업을 수행했습니다.
> mkdir /usr/local/var/postgres
> vi /usr/local/var/postgres/server.log
> ls /usr/local/var/postgres/
server.log
그러나 레일 서버를 시작하려고 할 때 여전히 다음과 같은 내용이 표시됩니다.
Is the server running on host "localhost" and accepting
TCP/IP connections on port 5432?
업데이트 3 :
> pg_ctl -D /usr/local/var/postgres status
pg_ctl: no server running
업데이트 4 :
나는 pg_hba.conf (pg_hba.conf.sample 만)가 없으므로 샘플을 수정하고 이름을 바꿨습니다 (.sample을 제거하기 위해). 내용은 다음과 같습니다.
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
그러나 나는 이것을 이해하지 못한다 :
> pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
> pg_ctl -D /usr/local/var/postgres status
pg_ctl: no server running
또한:
sudo find / -name postgresql.conf
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
업데이트 5 :
sudo pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Password:
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will own the server process.
업데이트 6 :
이것은 이상하게 보인다 :
> egrep 'listen|port' /usr/local/var/postgres/postgresql.conf
egrep: /usr/local/var/postgres/postgresql.conf: No such file or directory
그러나 나는 이것을했다 :
>sudo find / -name "*postgresql.conf*"
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
/usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample
/usr/share/postgresql/postgresql.conf.sample
그래서 나는 이것을했다 :
egrep 'listen|port' /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample
#listen_addresses = 'localhost' # what IP address(es) to listen on;
#port = 5432 # (change requires restart)
# supported by the operating system:
# %r = remote host and port
그래서 나는 이것을 시도했다 :
> cp /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf
> cp /usr/share/postgresql/postgresql.conf.sample /usr/share/postgresql/postgresql.conf
여전히 같은 “서버가 실행 중입니까?” 메시지.
답변
브루 패키지 관리자가 자동으로 시작 launchctl 속성 목록이 포함되어 있습니다. 자세한 정보는brew info postgres
.
수동으로 시작하십시오.
pg_ctl -D /usr/local/var/postgres start
수동으로 중지하십시오.
pg_ctl -D /usr/local/var/postgres stop
자동 시작 :
“postgresql을 시작하고 로그인시 다시 시작하려면 :”
brew services start postgresql
결과는 pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
무엇입니까?
결과는 pg_ctl -D /usr/local/var/postgres status
무엇입니까?
server.log에 오류 메시지가 있습니까?
pg_hba.conf에서 tcp localhost 연결이 활성화되어 있는지 확인하십시오 :
# IPv4 local connections:
host all all 127.0.0.1/32 trust
postgresql.conf에서 listen_addresses와 포트를 확인하십시오 :
egrep 'listen|port' /usr/local/var/postgres/postgresql.conf
#listen_addresses = 'localhost' # what IP address(es) to listen on;
#port = 5432 # (change requires restart)
청소
Postgres는 Homebrew , Fink , MacPorts 또는 EnterpriseDB 설치 프로그램을 통해 설치되었을 가능성이 높습니다 .
다음 명령의 출력을 확인하여 설치된 패키지 관리자를 판별하십시오.
brew && brew list|grep postgres
fink && fink list|grep postgres
port && port installed|grep postgres
답변
postgresql (homebrew를 통해 설치)을 수동으로 시작하고 중지하려면 가장 쉬운 방법은 다음과 같습니다.
brew services start postgresql
과
brew services stop postgresql
특정 버전이있는 경우 버전 접미어를 확인하십시오 (예 :
brew services start postgresql@10
답변
나는 거의 똑같은 문제가 있었고 initdb 명령을 수정했다고 인용했다. 이것은 또한 나를위한 해결책이지만, 그것을 찾는 사람들을 위해 누군가가 여기에 게시 한 것을 보지 못했습니다.
initdb /usr/local/var/postgres -E utf8
답변
컴퓨터가 갑자기 다시 시작된 경우
먼저 파일을 삭제해야합니다. /usr/local/var/postgres/postmaster.pid
그러면 설치에 따라 언급 된 다른 많은 방법 중 하나를 사용하여 서비스를 다시 시작할 수 있습니다.
Postgres 로그를 확인하여 진행중인 작업을 확인하여이를 확인할 수 있습니다. tail -f /usr/local/var/postgres/server.log
답변
또 다른 접근법은 점심 보석 (launchctl의 래퍼)을 사용하는 것입니다.
brew install postgresql
initdb /usr/local/var/postgres -E utf8
gem install lunchy
postgres를 시작하려면 :
lunchy start postgres
postgres를 중지하려면
lunchy stop postgres
자세한 정보를 원하시면 참조 : ” Mac에서 브루와 Lunchy에 PostgreSQL을 설치하는 방법 “
답변
여기 내 2 센트 : postgres pg_ctl의 별칭을 만들고 .bash_profile (내 postgresql 버전은 9.2.4이고 데이터베이스 경로는 /Library/PostgreSQL/9.2/data)에 넣었습니다.
alias postgres.server="sudo -u postgres pg_ctl -D /Library/PostgreSQL/9.2/data"
새 터미널을 시작하십시오.
그리고? 다음과 같이 postgresql 서버를 시작 / 중지 할 수 있습니다.
postgres.server start
postgres.server stop
답변
가장 깨끗한 방법 훨씬은 당신이 그것을 통해 설치 한 경우 중지 / 재시작 포스트 그레스 / 시작 brew
단순히 언로드 및 / 또는 설치와 함께 제공되는 launchd에 구성 파일을로드 :
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
첫 번째 줄은 postgres를 멈추고 두 번째 줄은 그것을 시작합니다. 모든 것이 해당 파일에 있으므로 데이터 디렉토리 등을 지정할 필요가 없습니다.