복붙노트

[RUBY-ON-RAILS] Cloud9 포스트 그레스

RUBY-ON-RAILS

Cloud9 포스트 그레스

나는 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. ==============================

    1.다음 단계를 수행합니다 :

    다음 단계를 수행합니다 :

  2. ==============================

    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. ==============================

    3.빈 암호와 사용자 이름 "우분투"를 사용합니다. 이 같은 내 database.yml을 보이는 :

    빈 암호와 사용자 이름 "우분투"를 사용합니다. 이 같은 내 database.yml을 보이는 :

    개발:   어댑터 : PostgreSQL의   인코딩 : 유니   데이터베이스 : myflix_development   수영장 : 5   이름 : 우분투   암호:

    테스트:   어댑터 : PostgreSQL의   인코딩 : 유니   데이터베이스 : myflix_test   수영장 : 5   이름 : 우분투   암호:

    그 다음 암호가 잘못 불평 경우, Cloud9의 지침을 사용하여 암호를 변경하려고 :

    명령 줄에서 입력 : sudo는 sudo는 -u 포스트 그레스 psql의

    포스트 그레스 = # \ 암호 새 암호를 입력 : 그것은 비워두고 Enter 키를 누릅니다 다시 입력 항목을 비워두고 Enter 키를 누릅니다 포스트 그레스 = # \ Q

    나는이 꽤 새로운 해요. 그 작품을 희망!

  4. ==============================

    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. ==============================

    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. ==============================

    6.솔루션을 발견. 이 같은 MD5에 피어에서 인증을 변경할 수있는 pg_hba.conf 파일을 편집하는 데 필요한 :

    솔루션을 발견. 이 같은 MD5에 피어에서 인증을 변경할 수있는 pg_hba.conf 파일을 편집하는 데 필요한 :

    local    postgres     postgres     md5
    

    그것은 만 cloud9의 단자를 통해 액세스 할 수있는 파일을 찾기 어렵다. 당신은 파일 트리에서 찾을 수 없습니다.

    당신이 포스트 그레스에 다음을 입력하면 그것은 당신에게 위치를 표시합니다

    SHOW hba_file;
    

    그런 다음 찾아 단자를 통해 VIM에서 편집 할 수 있습니다.

  7. ==============================

    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을에서 생산 섹션이 필요하지 않습니다

  8. from https://stackoverflow.com/questions/26545746/cloud9-postgres by cc-by-sa and MIT license