update.はじめにMacでPostgreSQLを用いたRailsアプリを開発する際の環境設定についてメモします。X10.10.5SoftwarePostgreSQL9.3.5Ruby2.2.2Rails4.2.2以降PostgreSQLのインストールPostgreSQLのインストールにはHomebrewを使います。postgresql無事にインストールされたか確認します。9.3.5上記の様に出力されればOKです。PostgreSQLの設定データベースクラスタの作成PostgreSQLにはデータベースクラスタという概念があります。データベースクラスタとはデータベースの集合のことで、PostgreSQLではデータベースクラスタを設定してその中にデータベースを作成することとなります。PostgreSQLでデータベースクラスタを作るには、initdbコマンドを用います。startここでは、文字コードをUTF-8に初期化していますが、若干コケています。運用上は問題なさそうなので、無視して進みます。ここでinitdbコマンドの引数に指定したディレクトリ名を変更することで、異なる場所にデータベースクラスタを構成することができます。この要領で複数のデータベースクラスタを作ることも可能です。次に、データベースクラスタが作成されたか確認するため、PostgreSQLを起動します。started上のようなログが書き出されればOKです。上記のコマンドを走らせたまま、別ウィンドウでデータベースクラスタ内のデータベースを確認してみます。後で、PostgreSQLを自動起動させる設定を行います。rows)デフォルトで、3つのデータベースが作られていることが確認できます。次に、~/.bash_profileに以下を追記します。PGDATA=/usr/local/var/postgresこれで、PostgreSQLがデフォルトで参照するデータベースクラスタが定まりました。同上また、注意点として、「-l」でログの出力先を渡さないと、ログが標準出力されて気持ち悪いことになります。ここまでで、PostgreSQLを起動させるための設定が終わりました。ユーザ(ロール)の作成PostgreSQLでは、データベースの作成時にオーナーとなるユーザを指定する必要があるため、データベース作成前にユーザを作成する必要があります。後からオーナーを変更する場合は、後でユーザ作成する選択肢もあります。デフォルトでは、以下のようになっています。row)上記コマンドの最後の引数「postgres」はデータベース名で、これを指定しないとユーザと同一のデータベースを指定したことになり、以下の様にエラーが出力されます。exist次に、ユーザの作成には、createuserコマンドを用います。rows)rails_userが追加されていることがわかります。ここで、パスワードを設定したい場合には、createuserコマンドに-Pオプションを付加してください。データベースの作成データベースの作成には、createdbコマンドを用います。ここでは、rails_userがオーナーとなっているrails_devというデータベースを作成します。rows)以上で、データベースを作成することができました。rows)となっており、rails_userはオーナーではあるがすべての権限を持っていません。データベースの権限は、PostgreSQLに入って確認することもできます。{}では、rails_userのrails_devに対する権限を変更してみます。権限の変更はSuperuser権限を持っているmac_userで行います。{}以上で、rails_userにスーパーユーザ権限を与えることができました。Railsの設定まず、Rubyの環境を整えます。ここでは、rbenvを用いることを前提としています。init次に、Railsのバージョンを設定します。今回は、4.2.2より新しいバージョンという指定をします。GemfileのRailsの設定箇所を以下の様に書き換えます。"~>4.2.2"最後に、gemパッケージをインストールし、Railsアプリを作成します。Y...これでRailsアプリは作成できましたが、先ほど設定したPostgreSQLの情報が反映されていません。そこで、config/database.ymlを変更し、データベースに接続するための設定を行います。今回は、開発環境(development)のみ設定します。localhost以上で設定完了です。upLoginユーザーは見つかりませんでした。