質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

2回答

1002閲覧

bin/rails db:migrate でエラー

Yukiya025

総合スコア86

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2017/08/05 09:55

編集2017/08/14 02:43

皆様、こんにちは。

###前提・実現したいこと
Cloud9でRuby2.3、Ruby on Rails4.2.5を使ってAction Mailerを実装しようとしていますが、$ bin/rails db:migrate実行時にエラーが出ます。
「Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?」といエラー分を見るに、postgresqlのポート番号が違うよ、といわれているような気がするのですが、どのファイルで設定するのかわかりませんorz

実装の参考にしているページ
https://railsguides.jp/action_mailer_basics.html
↑の「2.1.4 メイラーを呼び出す」で躓いています。
また、エラー内容で出るパス(/usr/local/rvm/gems/...) はどこから辿れるのでしょうか?
ローカルで開発していたときは楽々辿れたのですが、Cloud9ではそもそもどこに置かれているのかがまったくわからず。。。

どなたか知恵をお貸しください。よろしくお願いします(>_<)

###発生している問題・エラーメッセージ

yukiya025:~/workspace (mailer) $ rake db:migrate rake aborted! PG::ConnectionBad: could not connect to server: Connection refused Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `initialize' ... ... ...

###該当のソースコード

default: &default adapter: postgresql # sqlite3から変更 pool: 5 timeout: 5000 development: <<: *default database: db/development.postgresql #sqlite3から変更 # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: <<: *default database: db/test.postgresql #sqlite3から変更 production: <<: *default database: db/production.postgresql #sqlite3から変更

###試したこと
・herokuデプロイ時にGemfileの内容をsqlite3からpgへ変更。
・database.ymlにあったsqlite3もpostgresqlに変更 (上記のソースコードの通り)。
・$ rake db:migrateで実行。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

database.ymlでデータベース名を指定していますが、
sqlite3のときの記法のままになっているので、postgresqlからエラーが出ていますね。

database: db/test.postgresql #sqlite3から変更
ではなく
database: test
としてみて下さい。

同様に、development, productionについても
database: development
database: production
のように書き換えた上で、rake db:create && rake db:migrate してみて下さい。
(もちろん、testデータベースと同様、手動で作成しても全く問題ないです

投稿2017/08/14 02:55

tsuemura

総合スコア663

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

0

PG::ConnectionBad: could not connect to server: Connection refused

Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

とのことなので、PosgreSQLサービス自体が動いていないか、ポート5432を待ち受けていないかを聞かれているのではないかと思います。

Cloud9上のPostgreSQLは動いていますか?

psql

コマンドでデータベースにアクセスできるかどうかを確認して、動いていなければ

sudo service postgresql start

しましょう。

投稿2017/08/09 17:27

編集2017/08/14 02:56
tsuemura

総合スコア663

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yukiya025

2017/08/10 12:14

TakuyaSuemura様、回答ありがとうございます:*:.。.:*(´∀`*)*:.。.:*: `$ sudo service postgresql start`までできましたが、そのあと`$ bin/rails db:migrate`や`$ rake db:migrate`をしてもうまくいきません(>_<) 何かお心当たりはあるでしょうか。。。? #### アドバイス実行結果 > Cloud9上のPostgreSQLは動いていますか? ``` yukiya025:~/workspace (mailer) $ psql psql: could not connect to server: Connection refused Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? ``` 動いていませんでした^^; > 動いていなければ`sudo service postgresql start` ``` yukiya025:~/workspace (mailer) $ sudo service postgresql start * Starting PostgreSQL 9.3 database server ...done. ``` できました☆ ``` yukiya025:~/workspace (mailer) $ bin/rails db:migrate Error: Command 'db:migrate' not recognized Did you mean: `$ rake db:migrate` ? ``` 。。。db:migrateが認識されません (o・_・o) ``` yukiya025:~/workspace (mailer) $ rake db:migrate rake aborted! ActiveRecord::NoDatabaseError: FATAL: database "db/development.postgresql" does not exist ``` 上記`rake aborted!`の対策↓。。。 「ActiveRecord::NoDatabaseError~does not exist」をまるっとgoogle検索したら[このページ](https://stackoverflow.com/questions/34203765/activerecordnodatabaseerror-fatal-database-db-development-postgresql-does-n)が出てきたので`$rake db:create`をすると (Action Mailerで参考にしている[リンク](https://railsguides.jp/action_mailer_basics.html)では`$rake db:create`というコマンドは見当たらないのですが) ``` yukiya025:~/workspace (mailer) $ rake db:create PG::SyntaxError: ERROR: syntax error at or near "." LINE 1: CREATE DATABASE "db/development"."postgresql" ENCODING = 'ut... ``` 1行目に問題があるようですが、そもそもどうやってこのファイルにたどり着くのでしょうか。。。? そもそも`$ rake db:create`って必要なのでしょうか? すみません、お手上げです(´;ω;`) どうしたら`$ bin/rails db:migrate`できるのでしょうか。。。?
chelsy7110

2017/08/10 13:36

rake db:createは必要です。今postgresqlの中のデータベースにtestというデータベースはありません。 それを作成するのがrake db:createです。 もしくは自分でtestというデータベースを作成しましょう。
Yukiya025

2017/08/10 13:54

chelsy7110様、ありがとうございます☆ testデータベース作ってみました! とはいえ、rake db:migrateはできず。。。 次は何をすればよいのでしょうか。。。(′▽`o人) yukiya025:~/workspace (mailer) $ psql psql (9.3.15) Type "help" for help. ubuntu=# create database test ubuntu-# ; CREATE DATABASE ubuntu=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+-----------+---------+-------+----------------------- postgres | postgres | SQL_ASCII | C | C | template0 | postgres | SQL_ASCII | C | C | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | SQL_ASCII | C | C | =c/postgres + | | | | | postgres=CTc/postgres test | ubuntu | SQL_ASCII | C | C | ubuntu | ubuntu | SQL_ASCII | C | C | (5 rows)
tsuemura

2017/08/10 14:23

database.ymlでデータベース名を指定していますが、 sqlite3のときの記法のままになっているので、postgresqlからエラーが出ていますね。 database: db/test.postgresql #sqlite3から変更 ではなく database: test としてみて下さい。 同様に、development, productionについても database: development database: production のように書き換えた上で、rake db:create && rake db:migrate してみて下さい。 (もちろん、testデータベースと同様、手動で作成しても全く問題ないです)
Yukiya025

2017/08/14 02:05 編集

TakuyaSuemura様、できました!!! ありがとうございます(′▽`o人) yukiya025:~/workspace (mailer) $ sudo service postgresql start * Starting PostgreSQL 9.3 database server ...done. yukiya025:~/workspace (mailer) $ psql psql (9.3.15) Type "help" for help. ubuntu=# create database development ubuntu-# ; CREATE DATABASE ubuntu=# create database production; CREATE DATABASE ubuntu=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------+----------+-----------+---------+-------+----------------------- development | ubuntu | SQL_ASCII | C | C | postgres | postgres | SQL_ASCII | C | C | production | ubuntu | SQL_ASCII | C | C | template0 | postgres | SQL_ASCII | C | C | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | SQL_ASCII | C | C | =c/postgres + | | | | | postgres=CTc/postgres test | ubuntu | SQL_ASCII | C | C | ubuntu | ubuntu | SQL_ASCII | C | C | (7 rows) ubuntu=# \q yukiya025:~/workspace (mailer) $ rake db:migrate == 20170805062406 CreateUsers: migrating ====================================== -- create_table(:users) -> 0.0117s == 20170805062406 CreateUsers: migrated (0.0117s) =============================
Yukiya025

2017/08/14 02:10

TakuyaSuemura様、こんにちは! 先のコメントではお名前間違えて申し訳ありませんでした。 TakuyaSuemura様の回答をベストアンサーに選びたいので、「database.ymlでデータベース名を指定していますが~」の回答をまるっとコピペしてコメントではなく回答としてもう一度投稿していただけないでしょうかm(_)m
tsuemura

2017/08/14 02:32

たしかに、回答に含めるべき内容でしたね。失礼いたしました。元回答を修正しましたがこれで良いでしょうか?
Yukiya025

2017/08/14 02:53

TakuyaSuemura様ごめんなさい、ちょっと違いますf^^; 質問に画像を追加してみました (画像は私のアカウントの場合)。この部分に「database.ymlでデータベース名を指定していますが~」の回答をまるっとコピペして「回答する」ボタンを押してください(′▽`o人) 「コメントする」ボタンの下にこの「回答する」のスペース がありますので(*´∀`*)ノ
tsuemura

2017/08/14 02:56

別の回答として記載しました。
Yukiya025

2017/08/14 02:58

ベストアンサーにしました☆ ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問