PostgreSQL を使用する Rails アプリを作成しようとしています。これが私がしたことの説明です。
PostgreSQL のセットアップ: Martin Pitt が管理するppa:pitti/postgresql
から PostgreSQL 9.1.3 をインストールしました。以前に PostgreSQL 8.4 がインストールされていました。まだインストールされているのか、なくなっているのかはわかりません。
- Ubuntu アカウントと同じ名前のデータベースに、スーパーユーザー権限を持つデータベース ユーザーを追加しました。
- でデータベースデーモンを起動します
sudo service postgresql start
。 - Gerfried Fuchs によって管理されているppa:rhonda/pgadmin3からpgadmin3、バージョン 1.14.0 ベータ 1をインストールしました。
- ユーザー アカウントとパスワード、およびポート 5433 を使用して、pgadmin3 経由で接続できます。
pg_hba.confの私の postgres 構成は次のとおりです (読みやすくするためにコメントを削除しました)。
[...]
local all postgres peer
local all all peer
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
Rails のセットアップ:
PostgreSQL を使用する Rails アプリケーションを作成したいと考えています。
- RVM経由でRuby 1.9.3-p125をインストールしました。
- Rails 3.2.3 を Gemset ruby-1.9.3-p125@global にインストールしました。
- アプリケーション用に .rvmrc と Gemset を作成しました。
- を介してRailsアプリケーションを作成しました
rails new my_test_app -d postgresql
。 - 開発とテスト用にconfig/database.yml
user
で名前を構成し、productionを削除しました。password
- config/database.ymlで構成
host: localhost
しport: 5433
ました。
これが私のconfig/database.ymlの内容です(読みやすくするためにコメントを削除しました)。
development:
adapter: postgresql
encoding: unicode
database: my_test_app_development
pool: 5
username: johndoe
password: password
host: localhost
port: 5433
test:
adapter: postgresql
encoding: unicode
database: my_test_app_test
pool: 5
username: johndoe
password: password
問題:
ただし、実行するbundle exec rake db:create:all
と、次のエラー メッセージが表示されます。
could not connect to server: No such file or directory
Is the server running locally and accepting connections on Unix domain socket
"/var/run/postgresql/.s.PGSQL.5432"?
[...]
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode",
"database"=>"my_test_app_test", "pool"=>5, "username"=>"johndoe",
"password"=>"password"}
質問:
pgadmin3 経由で正常に接続したときに使用するポートと異なるのはなぜですか?