root 계정에서 ./pg_ctl restart 할려니깐
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
이런 에러메시지가 뜨는데 어떤 설정 해줘야 하나요?
아니면 root 계정에서는 컨트롤 못하나요?
내용으로 봐서는
root 계정으로 하지말라고 하는거군요.
su 프로그램이 설치 되어 있으면 로그인계정에 su 사용할수 있게 설정해주시고 su pg_ctl restart 하시는게 ^^;
그런데 배포판이 어떤것이길래 직접 pg_ctl restart하시나요
보통 init.d 스크립트로 하지 않는가여 ^^;;
그럼
김병석님 말대로
/etc/init.d/ 폴더에 있는 스크립트로 해결했습니다^^
고맙습니다^^
postresql을 컴파일해서 설치하시는 경우엔 pg_ctl로 시작하셔야 하는데, 이때 postgresql은 보안적인 이유로 root 권한으로 데몬의 실행을 허가하지 않습니다. 이런 이류로 인해 반드시 일반유저로 로그인해서 실행하셔야 하는데, 일반적으로 postgres 라는 사용자를 생성해서 가동하게 됩니다. 시중에 배포되는 리눅스 배포판의 경우는 미리 컴파일 되어 있어 /etc/init.d 혹은 /etc/rc.d/init.d 밑에 postgresql 이라는 실행 파일을 두기도 합니다만, 이 파일을 열어보면 아시겠지만 내부적으로 postgres 사용자로 로그인해서 데몬을 실행하는 걸 보실 수 있습니다.