2013-04-22 2 views
0

나는 디지털 우분투 서버를 설치하여 나의 새로운 사이트를 호스팅하고 포스트그레스 설정에 문제가있다.우분투에 신선한 PG 설치

나는 그것을 잘 설치되어 있지만 나는 그것이 psql를 사용하여 액세스 할 때 내가 얻을 :

psql의를 : FATAL : 역할 "데모"

몇 가지 간단한 질문에 존재하지 않습니다

  1. 표준 우분투 사용자 계정을 만들려면 postgres를 설치해야합니까? 새 역할이이어야한다 demopg :

    데모 @ 두보 : $의 createuser가 추가 할 역할의 이름을 입력합니다 ~

  2. 은 어떻게 createuser을 시도했지만 다음을 얻을 수있다, 나는 새로운 포스트 그레스 계정을 생성 할 슈퍼 유저? (Y/N) Y createuser가 : 데이터베이스 포스트 그레스에 연결할 수 없습니다 : FATAL : 역할 "데모"존재하지 않는

내가 포스트 그레스 사용자가 한 번 난 후 DB를 생성 할 수 있어야한다고 생각 내 응용 프로그램을 사용합니다.

+0

또 다른 질문으로 sudo -u postgres psql postgres가 있는데, 저를 들여 보내주었습니다.하지만 누군가가 그 일을 설명 할 수 있습니까? – rctneil

+0

왜 이것이 폐쇄 되었습니까? 그것의 완벽하게 합리적인 질문과 누군가가 완벽하게 현명한 대답을 아래에 게시했습니다. 아무 잘못 없음. 매우 놀라운 일입니다. – rctneil

답변

3

여기에 (나는 레일과 PostreSQL를 사용하고) 내가 개발을위한 우분투의 PostgreSQL을 설치하는 데 사용하는 단계는 다음과 같습니다

$ sudo apt-get install postgresql postgresql-contrib libpq-dev 

우리는 루비 페이지 보석을 설치 할 수 libpq를-DEV가 필요합니다. 설치가 완료되면, 후 다음 명령을 실행

$ sudo -u postgres createuser --superuser $USER 
$ sudo -u postgres createuser --superuser demo 
$ sudo -u postgres psql postgres 

첫 번째 명령은 사용자 이름과 일치하는 사용자를 만듭니다. 두 번째 명령은 응용 프로그램이 사용할 사용자를 생성합니다 - 이것은 보통 psql에 로그인 할 때 사용합니다. 세 번째 명령은 psql 콘솔로 직접 이동하여 postgres 데이터베이스를 엽니 다. PostgreSQL을 설치할 때 어떤 이유로 든 postgres 사용자에 해당하는 데이터베이스 일뿐입니다.

는 일단 psql의 프롬프트에서 다음 명령을 입력

postgres=# \password demo 

는 사용자의 암호를 설정합니다. 프롬프트로 돌아 오면 "\ q"를 입력하여 psql 프롬프트를 종료하십시오.

이제 터미널로 돌아와서 응용 프로그램을위한 데이터베이스를 만들 수 있습니다.

$ createdb your_db_name 

지금, 당신은 PostgreSQL을 적어도 로컬 호스트를 청취하기 위해 postgresql.conf 파일을 변경해야합니다. 외부 IP 또는 무언가를 듣고 싶다면이 줄을 IP 또는 '*'로 변경하십시오.

/etc/postgresql/9.1/main/postgresql.conf: 
listen_addresses = 'localhost' 

그런 다음 pg_hba에서.conf를 사용하고 있는지 확인하십시오 :

/etc/postgresql/9.1/main/pg_hba.conf: 
# "local" is for Unix domain socket connections only 
local all   all        md5 

그렇지 않으면 Rails 응용 프로그램에서 로그인 할 때 오류가 발생할 수 있습니다. 그 후에는 다음 명령을 사용하여 PostgreSQL을 시작하기 만하면됩니다.

$ sudo /etc/init.d/postgresql start 

그리고 이제 시작했습니다. psql을 다음과 같이 시작하십시오 :

$ psql -U demo 

설정 한 암호를 묻는 메시지가 나타납니다. 다음 데이터베이스를 사용하여 만든 데이터베이스에 연결할 수 있습니다.

# \c your_db_name 

행운을 빈다!

+0

우분투의 PG는 기본적으로 localhost에서 수신하므로 변경할 필요가 없습니다. 'pg_hba.conf'에 대한 변경 사항에 관해서는 당신이 필요하다고 생각하는 것이 명확하지 않습니다. 기본'peer' 메쏘드는 일반적으로 로컬 연결에 더 좋은 선택입니다 ('local'은 포스트 그레스를위한'localhost'와 다릅니다) –

+0

Brilliant, Thanks! – rctneil

+0

psql -u demopg하지만 /usr/lib/postgresql/9.1/bin/psql을 얻습니다 : 잘못된 옵션 - 'u' "psql을 사용해보십시오. --help "를 참조하십시오. 이견있는 사람? – rctneil