はじめに
node.jsやrubyをサポートしている無料のPaasクラウドdotcloudでPostgreSQLをセットアップしてみました。
公式マニュアルはこちら。
検証した環境
- Mac OS X 10.6.7
事前準備
事前準備として、クライアント環境にdotcloudのクライアントツールをインストールします。
sudo easy_install dotcloud
dotcloud上にPostgreSQLをセットアップする
dotcloud上でPostgreSQLを使えるようにするには、以下のコマンドを実行します。xxx.dbの部分はアプリケーションの名前になりますので、適宜読み替えてください。
dotcloud deploy -t postgresql xxx.db >Created "xxx.db".
データベースのユーザを作成する
続いて、以下のコマンドを実行して接続用のユーザを作成します。このとき、パスワードを設定する必要があります。
dotcloud run xxx.db -- createuser ユーザ名 -SDRP ># createuser ユーザ名 -SDRP >Enter password for new role: >Enter it again:
新規にデータベースを作成する
次に、PostgreSQL上にデータベースを作成します。
dotcloud run xxx.db createdb データベース名
ユーザにデータベースの権限を付与する
ユーザとデータベースを作ったら、権限の付与を行います。以下のコマンドを実行すると、指定したユーザにデータベースのすべての権限が付与されます。
dotcloud run xxx.db -- psql -c \"GRANT ALL PRIVILEGES ON DATABASE データベース名 TO ユーザ名\"
試しにテーブルを作ってみる
1.以下のコマンドを実行すると、PostgreSQL用のシェルが起動します。
dotcloud run xxx.db psql
2.シェルが起動したら、create table文を実行します。
CREATE TABLE test ( id serial NOT NULL, "name" character(50), CONSTRAINT test_pkey PRIMARY KEY (id) );
3.\dtでテーブルの一覧を取得すると、テーブルが作成されているのが確認できます。
postgres=# \dt List of relations Schema | Name | Type | Owner --------+------+-------+---------- public | test | table | postgres (1 row)