[RUBY-ON-RAILS] Cloud9 포스트 그레스
RUBY-ON-RAILSCloud9 포스트 그레스
나는 Cloud9의 레일 응용 프로그램에서 포스트 그레스 데이터베이스를 설정하려합니다.
여기의 지시를 따랐다 : https://docs.c9.io/setting_up_postgresql.html 및 cc_database라는 데이터베이스를 설정합니다.
이 같은 내 database.yml을 파일 외모 :
development:
adapter: postgresql
encoding: SQL_ASCII
database: cc_database
pool: 5
username: postgres
password: password
내가 갈퀴 DB를 실행하면 : 설치를 나는 다음과 같은 오류가 발생합니다 :
PG::ConnectionBad: FATAL: Peer authentication failed for user "postgres"
어떤 조언을 많이 주시면 감사하겠습니다 그래서 나는이 모든 아주 새로운 오전.
해결법
-
==============================
1.다음 단계를 수행합니다 :
다음 단계를 수행합니다 :
-
==============================
2.cloud9의 PostgreSQL은 로컬 호스트 연결 피어를 인증하는 설정입니다. 그래서 빨리 해상도는 현재 사용자에 database.yaml에서 사용자를 변경할 수 있습니다. 내 경우에는 사용자의 이름 우분투입니다. 현재 사용자가 명령을 사용하여 확인하려면
cloud9의 PostgreSQL은 로컬 호스트 연결 피어를 인증하는 설정입니다. 그래서 빨리 해상도는 현재 사용자에 database.yaml에서 사용자를 변경할 수 있습니다. 내 경우에는 사용자의 이름 우분투입니다. 현재 사용자가 명령을 사용하여 확인하려면
$ 에코 $ 사용자
터미널 IS에서 명령의 목록 그래서.
$ sudo su - postgres $ createuser ubuntu -dslP $ Enter password for new role: **same password from your yaml file** $ Enter it again:
이처럼 YAML 파일을 설정
development: adapter: postgresql encoding: SQL_ASCII database: cc_database pool: 5 username: ubuntu password: password
지금 당신은 실행할 수 있습니다
rake db:create rake db:migrate
-
==============================
3.빈 암호와 사용자 이름 "우분투"를 사용합니다. 이 같은 내 database.yml을 보이는 :
빈 암호와 사용자 이름 "우분투"를 사용합니다. 이 같은 내 database.yml을 보이는 :
개발: 어댑터 : PostgreSQL의 인코딩 : 유니 데이터베이스 : myflix_development 수영장 : 5 이름 : 우분투 암호:
테스트: 어댑터 : PostgreSQL의 인코딩 : 유니 데이터베이스 : myflix_test 수영장 : 5 이름 : 우분투 암호:
그 다음 암호가 잘못 불평 경우, Cloud9의 지침을 사용하여 암호를 변경하려고 :
명령 줄에서 입력 : sudo는 sudo는 -u 포스트 그레스 psql의
포스트 그레스 = # \ 암호 새 암호를 입력 : 그것은 비워두고 Enter 키를 누릅니다 다시 입력 항목을 비워두고 Enter 키를 누릅니다 포스트 그레스 = # \ Q
나는이 꽤 새로운 해요. 그 작품을 희망!
-
==============================
4.당신이 스스로를 설치할 필요가 없습니다 있도록 글을 쓰는 시점에서, Cloud9은 PostgreSQL는, 사전 설치했다. 그러나 그것은 기본적으로 실행되지, 그래서 당신은 터미널에서이 명령을 시작해야합니다 :
당신이 스스로를 설치할 필요가 없습니다 있도록 글을 쓰는 시점에서, Cloud9은 PostgreSQL는, 사전 설치했다. 그러나 그것은 기본적으로 실행되지, 그래서 당신은 터미널에서이 명령을 시작해야합니다 :
sudo service postgresql start
'비밀번호'에 PostgreSQL의 암호를 변경 (또는 다른 암호를 선택) :
sudo sudo -u postgres psql # This will open the psql client. # Type \password and press enter to begin process # of changing the password: postgres=# \password # Type your new password (e.g. "password") and press enter twice: Enter new password: Enter it again: # Password changed, quit psql with \q postgres=# \q
편집하여 설정 / database.yml을 할 수 :
default: &default adapter: postgresql encoding: unicode pool: 5 # Important configs for cloud9, change password value # to what you entered in the previous psql step. template: template0 username: ubuntu password: password development: <<: *default database: your_app_name_development test: <<: *default database: your_app_name_test production: <<: *default database: your_app_name_production username: your_app_name password: <%= ENV['YOUR_APP_NAME_DATABASE_PASSWORD'] %>
(위의 필수 기본 항목의 템플릿, 사용자 이름 및 암호 CONFIGS 참고).
당신의 Gemfile에 페이지 보석을 추가합니다 :
gem 'pg'
실행 설치 번들입니다.
당신의 Gemfile에서 sqlite가 보석을 제거합니다 (선택적 dB / * 삭제합니다. sqlite3를 파일).
데이터베이스, 부하 schema.rb을 만들고 DB를 사용하여 데이터베이스를 씨앗 : 설치 작업 :
bundle exec rake db:setup # Run bin/rake -AD db to see all db-related tasks
시작 또는 당신의 레일 응용 프로그램을 다시 시작하고 작동 확인.
참고 이전 SQLite 데이터베이스에서 비 씨앗 데이터는 새 데이터베이스에 존재하지 않습니다.
혹시 터미널 실행 psql를 실행하거나 빈에서 직접 PostgreSQL을 함께 상호 작용하는 psql의 클라이언트를 사용하려면 / DB 레일.
-
==============================
5.나를 위해, 레일과 Cloud9 작업 공간 설정의 단계를 수행하고 PostgreSQL은 충분하지 않았다. 이 암호를 내 사용자를 전달하지만,되지 않았습니다. 에코 $ USERNAME은 아무것도 올라오고 있었다.
나를 위해, 레일과 Cloud9 작업 공간 설정의 단계를 수행하고 PostgreSQL은 충분하지 않았다. 이 암호를 내 사용자를 전달하지만,되지 않았습니다. 에코 $ USERNAME은 아무것도 올라오고 있었다.
$ sudo su - postgres $ createuser ubuntu -dslP
그럼이했다 :
sudo sudo -u postgres psql postgres=# \password Enter new password: entered a real password Enter it again: entered it again postgres=# \q
그럼 난 내 YAML 파일에 이런 짓을 (내가 호스트 부분을 죽인 주) :
development: adapter: postgresql encoding: unicode database: my_database_name pool: 5 username: ubuntu password: actual_password
그럼 난 내 데이터베이스를 생성 할 수 있었다 :
rake db:create
그리고 내 레일 서버는 더 이상 딸꾹질없이 시작했다.
-
==============================
6.솔루션을 발견. 이 같은 MD5에 피어에서 인증을 변경할 수있는 pg_hba.conf 파일을 편집하는 데 필요한 :
솔루션을 발견. 이 같은 MD5에 피어에서 인증을 변경할 수있는 pg_hba.conf 파일을 편집하는 데 필요한 :
local postgres postgres md5
그것은 만 cloud9의 단자를 통해 액세스 할 수있는 파일을 찾기 어렵다. 당신은 파일 트리에서 찾을 수 없습니다.
당신이 포스트 그레스에 다음을 입력하면 그것은 당신에게 위치를 표시합니다
SHOW hba_file;
그런 다음 찾아 단자를 통해 VIM에서 편집 할 수 있습니다.
-
==============================
7.당신은 레일 응용 프로그램 이전에 어떤 데이터베이스를 만드는이 짧은 버전 :
당신은 레일 응용 프로그램 이전에 어떤 데이터베이스를 만드는이 짧은 버전 :
보석을 추가 '페이지' 제거 보석 sqlite3를
$ bundle install $ gem install pg
그때,
$sudo service postgresql start $psql -c "create database myapp_development owner=ubuntu"
https://community.c9.io/t/how-do-i-set-up-postgresql-on-c9-for-my-rails-app/2614/4에 따라
어떤 이름을 MyApp를 변경. 그리고, 어떤 이름을 MyApp를 변경, 아래의 복사 - 붙여 넣습니다.
/myapp/config/database.yml development: adapter: postgresql encoding: unicode database: myapp_development pool: 5 username: ubuntu password: timeout: 5000
위의 주석으로, 암호가 필요하지, 사용자 이름은 우분투를 머물 수 있습니다.
$rake db:migrate
당신에게 Heroku를 사용하는 경우, 당신은 database.yml을에서 생산 섹션이 필요하지 않습니다
from https://stackoverflow.com/questions/26545746/cloud9-postgres by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 60 초 안정 파이어 접속을 얻을 수없는 (127.0.0.1:7055) (0) | 2020.02.24 |
---|---|
[RUBY-ON-RAILS] 어떻게 요청 리퍼러 경로를 얻는 방법? (0) | 2020.02.24 |
[RUBY-ON-RAILS] 어떻게 모달 오픈 링크의 콘텐츠 그래서 LINK_TO으로 부트 스트랩 모달을 추가? (0) | 2020.02.24 |
[RUBY-ON-RAILS] 어떻게 메인 도메인을 얻기 위해 루비의 URL을 구문 분석? (0) | 2020.02.24 |
[RUBY-ON-RAILS] 하위 도메인에 카피 바라 - default_host를 (0) | 2020.02.24 |