Amazon RDS for PostgreSQLがやってきた!!

AWS

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

よく訓練されたアップル信者、都元です。ついに来た! キタ!! キタ━━━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━━━!!!!

前置きはいいですね。さっさとやってみますね。

まずはSecurity Groupの作成

postgres用のセキュリティーグループを用意します。

2013-11-15_1049-pg-01

おやぁ、プリセットにはありませんねw まぁ、近々出てくることになると思いますが、ひとまず今はポート番号5432を指定して作成しましょう。

2013-11-15_1049-pg-02

ではcreate-db-instance!

RDSのManagement Consoleより、いつものように作成開始です。選択肢の2つ目に、ぞうさんが現れましたね。いやー、嬉しい。

2013-11-15_1051-pg-03

これ以降は、MySQLの時と全く変わりません。同じノリで諸々設定していきます。

2013-11-15_1051-pg-04

2013-11-15_1052-pg-05

ここで、先ほど作ったセキュリティーグループを設定するのをお忘れなく。一応VPCのデフォルトも付与しておきます。

2013-11-15_1053-pg-06

2013-11-15_1053-pg-07

2013-11-15_1053-pg-08

以上で、あとは起動完了を待つのみ。気のせいかもしれませんが、MySQLよりも起動が速いような気がしました。

2013-11-15_1054-pg-09

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してきてインストールします。

起動し、画面左上のプラグアイコンからサーバの登録です。

2013-11-15_1147-pg-10

こんな感じ。

2013-11-15_1054-pg-11

接続してみると、先ほどCUIクライアントから作ったkeyvalueテーブルが見えてますね!

2013-11-15_1150-pg-12

お値段は?

OSSでライセンス費用が掛からないので、MySQLと同じじゃないかなー、と思っていたのですが、MySQLより僅かに高いです。が、見ての通り誤差のようなもんですので、ほぼMySQLと同じ金銭感覚でいていいとおもいます。

2013-11-15_1153-pg-cost-2

2013-11-15_1153-pg-cost-1

まとめ

従来、AWSでRDBを使う場合、実質的にMySQL一択だった感があります *2。また、オンプレミスからの移行については、PostgreSQLはEC2上に自前で構築する必要があり、MultiAZ構成を組み上げるのは非常に手間の掛かる状態でした。

今日からは、PostgreSQLがみんなの道具箱に入ります。今後が楽しみですね!

脚注

  1. ちなみにリストの一番下にあるv1.8.4は最新版ではないので気をつけてください。ハマりました。
  2. 確かにOracleやMSSQLという選択も可能ですが…。