77
77

More than 5 years have passed since last update.

PostgreSQLのデータをGUIでいじる(macOS/Postico)

Last updated at Posted at 2016-12-19

本記事の対象者

  • ちょこっとしたデータの修正をさくっとGUIでやりたい(できれば無料で)
  • Excelのデータを簡単にPostgreSQLのテーブルに追加したい
  • AWS RDSのデータをGUIで触りたい

記事の内容

  • PosticoでPostgreSQLをいじる方法を丁寧に説明しています

PosgtreSQLをGUIでいじるソフト?

  • OSXで使えるpostgresqlのGUIクライアントを参照のこと
  • CSVimport機能があると書かれていたPosticoをかるく使ってみた。
    • (実際はCSV importではなく、表データコピペ機能だった。後述参照)
  • 一時的なことだと思われるが、pgadminはダウンロードしてもなぜか展開が出来なかったので試さなかった。
  • windowsは調べてない

Posticoをインストールする

インストール

  • PosticoをDownloadする
  • アプリをApplicationsフォルダに入れる

無料版の制限

ちょこっといじりたいぐらいの用途であれば無料版でも困らない。でも、使いやすいので、応援のため買ってもいいかも。

なお、無料版の制限は以下の通り。
* データーベース接続設定の保存が5つまで
* 作業ウィンドウは1つまで
* テーブルフィルタ(検索みたいな機能)が使えない
* 試用期間の制限なし

購入する場合

  • App Storeから購入することを進めていた。
  • 2016/12/19現在6000円

使用方法説明

ローカルのPostgreSQLに接続する

  • (もちろん既にlocalにはPostgreSQLのDBが作られていることが前提です)
  1. Posticcoを起動する
  2. New Favorite を押す
  3. 接続したいPostgreSQL DBの情報を入力する

    • DBのユーザー名
    • DBのパスワード
    • DBの名称 https://gyazo.com/35256656bfcae705927dc63bd91186f6
  4. Connect を押す

(接続後)DBのテーブルを開く

  • (前提:prefecturesというテーブルがDBに存在してる)
  1. 下記のアイコンをダブルクリック
    https://gyazo.com/ece0fc3a945fb03b5c99f152c6cda93e

  2. テーブルの内容が見られる
    https://gyazo.com/17d1b452624c018e48f90463847cb760

データを編集する

  1. 編集したい行のセルをダブルクリック
    https://gyazo.com/8ebdda8bcd0e8e99fb695754478ecac0

  2. 文字列を追加して Save changes ボタンを押す
    https://gyazo.com/3a5e5ea2b9f0fb029e60f90469942966

  • 編集を取り消したい時は Discard changes を押す

データを追加する

  1. +Row ボタンを押す
    https://gyazo.com/6ac30011b0297bbcd7da94a605e3b14e

  2. 一時的に編集用の行が追加される
    https://gyazo.com/627724d3ea57c8ea9650eefb09cecf7d

  3. 行の内容を編集する
    https://gyazo.com/e210c997e4d823b00bbbdb2e1539b416

  4. Save Changes を押して編集した行をデータベースに保存する
    https://gyazo.com/12156aa25c26255780fb9058efb91626

  5. 行が追加された
    https://gyazo.com/da234d2274294f2fcd87bfd35f6ff876

  • 編集を取り消したい時は Discard changes を押す

Excelから一括でデータ追加する

  • Excelでデータを作成して、コピペだけでPostgreSQLにデータを追加
  1. Excelでデータを作成する

    • (重要) Excelの列の順序はPostgreSQLのテーブルのカラムの順序と同じにすること https://gyazo.com/4b23a82f21ec60fe0d8ed661a4500891
    • 一行目のヘッダー名はコピーするときの範囲外なのでどんな文字列でも良い。しかし、実務上はカラム名を書いた方がミスが起こりにくいので、カラム名を書くことを推奨
    • 上記Excel表内の E5 セルのようにセル内の改行も可。ただし、Railsなどでこの改行がどのように表示されるかはわかりません。そちらは各自確認してください。
  2. Excelのデータをコピーする

    • データ行のみを選択してコピーする https://gyazo.com/21b6fb6a50d4a1b4f826d22fd2ac965c
  3. Posticoでペーストする

    • 適当なところでcommand + Vを押すと https://gyazo.com/7e237eff62368e53ee525e43c3460a28
    • 以下のようになる https://gyazo.com/0cb477a4c0776e726e1c52d47a10b79f
  4. Save Changes を押してペーストした行をデータベースに保存する
    https://gyazo.com/ce97b3529e54373f71e1d085289dd8c9

  5. 行が追加されることが確認できる
    https://gyazo.com/d1e180fe1f91188b5b98f8337547e6bf

行の削除

  • 取り消しは出来ないので行うときは慎重に!
  1. 削除したい行を選択する
    https://gyazo.com/484072450bd48ca006ea12782f8103c5

  2. deleteキーを押す
    https://gyazo.com/bf44ef6b6ce1d51bdf0e1323584636fd

  3. Save Changes を押して削除を確定する
    https://gyazo.com/7c11db348a25d402e2ae1f769a63cce2

  4. 削除をされたことを確認する
    https://gyazo.com/99eaef53c5436fbb642ee698eace892d

  • "3"の箇所で他の行をクリックするとピンク色で選択されるので、そのままSave changesボタンを押すとまとめて削除できる。

AWS RDS (PostgreSQL)に接続する

接続したいPostgreSQL DBの情報を得る

  1. RDSダッシュボード→インスタンスから接続したいPostgreSQLインスタンスを展開する
    https://gyazo.com/dedba180b6310808c9e5312058cc6524

  2. 下記の情報をメモする

    • DB名
    • ユーザ名
    • エンドポイント

AWS RDSに外部から接続できるようにセキュリティーグループを追加する

  • (注意)下記例はどこからでも接続を許可する設定であるため、セキュリティー上のリスクが高まります。
  • 下記設定は一時的な利用にとどめるか、もしくは、永続的に使う場合は接続できるIPを限るなどの処置をとってください。
  1. 同上の画面からセキュリティグループ(active)のリンクをクリック
  2. インバウンドタブを押して編集を押す
    https://gyazo.com/2af775de18abe72fab6dbc001964f5cd

  3. ルールの追加→PostgreSQL→任意の場所→保存
    https://gyazo.com/38430a8faef2c7275b3c5c30b6c7be5c

PostinoにAWSの設定を入力して接続する

  1. 下記の通り接続したいPostgreSQL DBの情報をPostinoに入力する
    https://gyazo.com/2ea00574d952fb23b1ea3e84b879ef29

  2. アラートがでるが、そのままconnectを押す
    https://gyazo.com/35797b876b6927670f2d4adfe7010e3e

  3. 下記の通り接続される(テーブル名は各々のデータベースで異なります)
    https://gyazo.com/8e6f3c3557868c31e0ef4e487839367b

77
77
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
77
77