アカハヤのブログ

クズと天才は紙一重 twitter:@akahaya719

railsでpostgresqlを使う

簡単なまとめなので、間違えているところがあるかもしれないです。

 

railsPostgreSQLを使いたい場合は

rails new プロジェクト名 -d postgresql

を実行し、プロジェクトを作成します。

 

config/databese.ymlを編集します。

 

development:
 adapter: postgresql
 host: localhost
 encoding: utf8
 port: 5432
 databese: 作成したデータベース名(作成するデータベース名)
 username: 作成したユーザ名
 password: 作成したユーザのパスワード
test:
 adapter: postgresql
 host: localhost
 encoding: utf8
 port: 5432
 databese: 作成したデータベース名(作成するデータベース名)
 username: 作成したユーザ名
 password: 作成したユーザのパスワード

 

ユーザを作成していれば、

rake db:create RAILS_ENV=development

でデータベースは自動で作成されます。

 

PostgreSQLがない場合は、以下コマンドを実行してインストールします。

brew install postgresql

 

PostgreSQLを実行する場合は、以下コマンドを実行します

postgres -D /usr/local/var/postgres

または、

pg_ctl -D /usr/local/var/postgres start

 

PostgreSQL起動後は、実行したまま、別ウィンドウで作業することになります。

 

ユーザを作成したい場合は、

createuser -P ユーザ名

-Pはオプションでユーザにパスワードをつけたいときに使います。

 

ユーザに権限をつけたい場合は、

psql -d postgres

PostgreSQLに入り

ALTER ROLE ユーザ名 WITH SUPERUSER;

で権限をつけられます。

また、逆に権限をなくしたい場合は、

ALTER ROLE ユーザ名 WITH NOSUPERUSER;

で権限を剥奪できます。

 

ユーザを削除したい場合は、

psql -d postgres

PostgreSQLに入り

DROP USER ユーザ名;

で削除できます。

 

ユーザ一覧を見たい場合は

psql -d postgres

PostgreSQLに入り

\du

で確認することができます。

 

データベースを作成するときは、

createdb データベース名 -O ユーザ名

で作成できます

-O ユーザ名はオプションで、

作成するデータベースの所有者となるユーザを指定できます。

 

データベースを削除したい場合は、

psql -d postgres

PostgreSQLに入り

DROP DATABASE データベース名;

で削除できます。

 

データベース一覧を見たいときは、

psql -l

でデータベースを確認できます。