この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
よく訓練されたアップル信者、都元です。ついに来た! キタ!! キタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!!!
前置きはいいですね。さっさとやってみますね。
まずはSecurity Groupの作成
postgres用のセキュリティーグループを用意します。
おやぁ、プリセットにはありませんねw まぁ、近々出てくることになると思いますが、ひとまず今はポート番号5432を指定して作成しましょう。
ではcreate-db-instance!
RDSのManagement Consoleより、いつものように作成開始です。選択肢の2つ目に、ぞうさんが現れましたね。いやー、嬉しい。
これ以降は、MySQLの時と全く変わりません。同じノリで諸々設定していきます。
ここで、先ほど作ったセキュリティーグループを設定するのをお忘れなく。一応VPCのデフォルトも付与しておきます。
以上で、あとは起動完了を待つのみ。気のせいかもしれませんが、MySQLよりも起動が速いような気がしました。
CUIクライアントからつないでみる
ステータスがavailableになったら、クライアントでつないでみましょう。標準のCLI、psqlコマンドでどうぞ。
$ psql -h firstpg.************.ap-northeast-1.rds.amazonaws.com -U root postgres
psql (9.3.1)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.
postgres=> \d
No relations found.
postgres=> CREATE TABLE keyvalue (key INT PRIMARY KEY, value VARCHAR(32) NOT NULL);
CREATE TABLE
postgres=> \d
List of relations
Schema | Name | Type | Owner
--------+----------+-------+-------
public | keyvalue | table | root
(1 row)
postgres=> INSERT INTO keyvalue (key, value) VALUES (1, 'foo'), (2, 'bar');
INSERT 0 2
postgres=> SELECT * FROM keyvalue;
key | value
-----+-------
1 | foo
2 | bar
(2 rows)
GUIクライアントからつないでみる
とりあえずpgAdminですかね。ダウンロードページから最新バージョン(執筆時点でv1.18.1) *1をDLしてきてインストールします。
起動し、画面左上のプラグアイコンからサーバの登録です。
こんな感じ。
接続してみると、先ほどCUIクライアントから作ったkeyvalueテーブルが見えてますね!
お値段は?
OSSでライセンス費用が掛からないので、MySQLと同じじゃないかなー、と思っていたのですが、MySQLより僅かに高いです。が、見ての通り誤差のようなもんですので、ほぼMySQLと同じ金銭感覚でいていいとおもいます。
まとめ
従来、AWSでRDBを使う場合、実質的にMySQL一択だった感があります *2。また、オンプレミスからの移行については、PostgreSQLはEC2上に自前で構築する必要があり、MultiAZ構成を組み上げるのは非常に手間の掛かる状態でした。
今日からは、PostgreSQLがみんなの道具箱に入ります。今後が楽しみですね!