現在、Rails 3.2.9 アプリケーションは、Mac Mini Server を Mountain Lion にアップグレードしたときに PgAdmin を使用して再作成された PostgreSQL データベースを使用しています。データベースは、私が知らないうちにバージョン 9.2.1 として作成されました。私が使用した PgAdmin のバージョンが、そのバージョン番号でそれらを作成したと思います。Mountain Lion へのアップグレードに付属していた Postgres バージョン 9.1.4 しか持っていませんでした。バックグラウンド ジョブを実行する queue_classic の実装で問題が発生していたため、psql のバージョンをデータベース ファイルのバージョンと一致させる方法について別の質問を送信しました。この時点で、私は何の応答も受け取っていません。私は引き続き postgres.app について調べて学びました。現在のバージョンは PostgreSQL 9.2.2 を実行しています。
現在のデータベースのデータを CSV ファイルにコピーしました。また、postgres.app で psql ターミナルを使用し、Rails アプリケーションで使用する新しいデータベースを作成しました。config/database.yml の開発およびテスト データベースの定義を変更して、これを完全にテストするまで実稼働データベースを台無しにしないようにすることにしました。Railsアプリケーションがpostgres.appで作成されたデータベースを指していることを確実に知ることができるように、異なる名前でデータベースを作成しました。
postgres.app Web サイトに記載されているように、.bashrc のパスを変更しました。which psql を実行すると、postgres.app バージョン 9.2.2 を正しく指します。postgres.app のウェブサイトの指示に従って、開発用の config/database/yml を次のように変更しました。
development:
adapter: postgresql
encoding: unicode
database: newname_devl
通常どおり localhost:3000 を使用して Rails アプリを実行すると、アプリケーションは元のデータベースを指しています。rake db:migrate を実行してすべてのテーブルを新しいデータベースに再構築していなかったため、エラーが発生することを予期していました。
どういうわけか、PostgreSQL データベースのバージョンを PostgreSQL のバージョンと一致させる必要がありますが、ここからどこに行けばよいかわかりません。探し続けます。
どんな助けでも大歓迎です。
更新 2012 年 12 月 31 日午前 5 時 50 分 CST GMT-6
以下のコマンドを試しました。これは私が以前に試したものです。コマンドの下にエラー (ユーザー名がマスクされています) が表示されました。
psql -h localhost
psql: FATAL: role "username" does not exist
ロール「ユーザー名」を作成し、コマンドを再試行しました。次のエラーが発生しました。
psql: FATAL: database "username" does not exist
以下のコマンドを試すことにしました。コマンドの下にリストされたエラーが表示されました。
psql -h localhost -U _postgres
psql: FATAL: database "_postgres" does not exist
データベース _postgres が存在しません。データベース postgres が行います。