Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみよう

3.750 visualizaciones

Publicado el

2018.04.21に開催された第8回関西DB勉強会
- たまにはpgAdmin4も使ってみよう! - の資料です

Publicado en: Software
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

180421第8回関西DB勉強会- たまにはpgAdmin4も使ってみよう

  1. 1. たまには pgAdmin4 も 使ってみよう! 日本PostgreSQLユーザ会関西支部 片岡 道雄 2018.4.21 第8回関西DB勉強会
  2. 2. 自己紹介  名前: 片岡 道雄 ( @rzl5 )  職業:尼崎のほうにある大手ネットショップで派遣プログラマしてます  さいきん転職しました  自宅が滋賀なので、兵庫まで通うのたいへんです。  今季見ているアニメ:  銀河英雄伝説 Die Neue These  ひそねとまそたん  ヒナまつり  ウマ娘 プリティーダービー  今季、新作アニメの本数多すぎないですか???
  3. 3. 本日のアジェンダ  pgAdmin4とは?  pgAdminⅢとpgAdmin4、何がちがうの?  pgAdmin4の歴史  pgAdmin4はいいの?使えるの?  pgAdminのまめ知識  さいごに ※つい1週間ほど前(4月13日)、pgAdmin4の最新版が突然発表されまして とくにWindows版とかちょっと動きかわってるところがあります。 まだ追い切れてないので 資料が微妙なところはご容赦ください。
  4. 4. pgAdmin4とは?(1)  グラフィカルなユーザー・インターフェイスを持つ、 PostgreSQL専用の データベース管理クライアント。  黒い画面じゃなくて、マウスで操作できるやつです。  DBとかスキーマとかテーブルとか作ったり、入っているデータをみたりできます。  無料で使えます。  ライバルとして以下のようなのがいます。  pgAdminⅢ  A5:SQL Mk-2(A5M2)  HeidiSQL  Navicat ※有償  SI Object Browser ※有償 などなど。
  5. 5. pgAdmin4とは?(2)  こんな感じ
  6. 6. pgAdmin4とは?(3)  公式サイトがあります。 https://www.pgadmin.org/  ダウンロード  https://www.pgadmin.org/download/  https://www.postgresql.org/ftp/pgadmin/  ドキュメント  https://www.pgadmin.org/docs/pgadmin4/dev/ postgresql.org にて配布している 全部英語です
  7. 7. pgAdmin4とは?(4)  PostgreSQL 本体と同じくオープンソースですが、 米国にあるEnterprizeDB社のメンバーが中心になって開発されてるようです。  EnterprizeDB社とは?  PostgreSQLの商用サービスを行っている会社。  PostgreSQLのWindows用インストーラパッケージを提供してたりするので、Windows使いに はなじみ深いです。 (インストール中にロゴでてきますよね)  自分とこで作ってたからか、PostgreSQL 9.6系の頃まではWindows用PostgreSQLを インストールすると、問答無用でpgAdminもインストールされてました。  PostgreSQL10からはインストールする/しないを選択できるようになってます
  8. 8. pgAdmin4とは?(5)  pgAdminⅢとは別物です。  「pgAdminⅢ」「pgAdmin4」までが製品名だとおもってください。  バージョン番号は別にあるので注意してください。  2018年4月21日時点のpgAdmin4最新バージョンは「 v3.0 」です。 pgAdmin4 v3.0 。
  9. 9. 余談:PostgreSQLのバージョンについて  7.3 2002-11-27 スキーマ, ドメイン, PREPARE  7.4 2003-11-17 IPv6, information_schema  8.0 2005-01-19 Microsoft Windows対応, SAVEPOINT, PITR, 表領域  8.1 2005-11-08 2相コミット, ROLE, 行共有ロック, テーブル・パーティショニング  8.2 2006-12-05 ウォームスタンバイ, GIN  8.3 2008-02-04 更新処理性能の向上, XMLデータ型, 全文検索, JIS X 0213, ENUM型, UUID型  8.4 2009-07-01 再帰クエリ, ウィンドウ関数, 列単位のアクセス制御, SQLと関数の性能解析機能  9.0 2010-09-20 レプリケーション, 一括権限変更, 匿名プロシージャ, 64bit Windows サポート  9.1 2011-09-12 同期レプリケーション, 外部テーブル, パッケージ管理, UNLOGGEDテーブル, 更新可能なWITH句  9.2 2012-09-10 インデックスオンリースキャン, カスケードレプリケーション, JSON型, 範囲型  9.3 2013-09-09 マテリアライズドビュー, 外部テーブルへの書き出し, イベントトリガ  9.4 2014-12-18 JSONB型, SQLからのサーバー設定の変更(ALTER SYSTEM)  9.5 2016-01-07 UPSERT機能, ALTER TABLE tablename ENABLE ROW LEVEL SECURITYコマンド  9.6 2016-09-29 同期レプリケーション機能の強化(「remote_apply」モード)  10 2017-10-05 ロジカルレプリケーション, 宣言的テーブルパーティショニング
  10. 10. pgAdminⅢとpgAdmin4、何がちがうの? (1) pgAdminⅢ pgAdmin4 プログラム言語 C++ Python2.7、JavaScript サポートするPostgres Postgres7.3~9.6まで Postgres9.2~10 サポートするOS Windows、Mac OS X Linux, Unix, Mac OS X and Windows 初版 v1.0.0 (2005-06-09) v1.0 (2016-09-29) 最新版 v1.22.2(2016-11-10) v3.0 (2018-04-13) 更新版 もう出ません つぎはv3.1だそうです
  11. 11. pgAdminⅢとpgAdmin4、何がちがうの? (2)  pgAdminⅢのソースを全部捨てて、Python/Javascriptでイチから書き直されました。  pgAdminⅢは C++なので環境ごとにコンパイルしてバイナリを作る必要があった。 デスクトップアプリ。  pgAdmin4はPythonってことでWebアプリへ華麗に転身したのです。  ちなみにpgAdmin2はVB6で書かれていて完全なWindowsアプリ  余談ですが pgAdminⅢ、 C++ でも wxWidgets というのを使ってマルチプラット フォームだよ!というのをウリにしていて、  実際、当初はDebian, OpenSuse, Redhat, Fedora-core, Slackware, freeBSDなどなど多彩 なバイナリがでてたのですが、v1.10のころ(2010年ごろ)には早くも os x(とWindows)のバイナリしか提供されなくなってました。。。
  12. 12. pgAdminⅢとpgAdmin4、何がちがうの? (3)  最大の違いは、  pgAdminⅢがデスクトップアプリであるのに対し、  pgAdmin4はPythonで動くWebアプリであるということ。  pgAdminⅢのようなデスクトップアプリとしても動くし、(デスクトップモード)  Windows版の場合、デスクトップランタイムが一緒にインストールされるので 別途Pythonをインストールする必要はありません  Pythonが別途動く環境であれば、Webブラウザ上で動かすこともできる。(サーバーモード)  v3.0から“ブラウザで動くソフト”になりました!  デスクトップアプリではなくなりました。  MySQLの phpMyAdmin的なものになったわけです。 NEW!
  13. 13. pgAdmin4の歴史(1)  2016-09-29 - v1.0 PostgreSQL9.6と共に颯爽登場!  2016-10-27 - v1.1 Features: 2 BugFixes:36  2017-02-10 - v1.2 Features:12 BugFixes:76  2017-03-10 - v1.3 Features: 5 BugFixes:29  2017-04-13 - v1.4 Features: 3 BugFixes:27  2017-05-19 - v1.5 Features: 1 BugFixes:21  2017-07-13 - v1.6 Features:12 BugFixes:73  2017-10-05 - v2.0 Features: 9 BugFixes:65  2018-01-11 - v2.1 Features: 8 BugFixes:65  2018-04-13 - v3.0 Features:24 BugFixes:75 v1.1 - 1.2 4か月の沈黙。 中の人は相当追い詰め られてたと思う v1.2 - 1.5 怒涛の毎月バージョンアップ v1.6 ようやく落ち着いた v2.0 PostgreSQL10とともに メジャーバージョンアップ。 v3.0 早くも3.0!? BugFixes数が減らないなあ v1.0 衝撃!のもっさり感と 不安定さ。
  14. 14. pgAdmin4の歴史(2)  ごらんのとおりpgAdmin4、非常に活発に開発が進んでいます。  最新版v3.0の主な変更点  デスクトップランタイムはシステムトレイアプリケーションとして実行され、システム上 のブラウザを使用してpgAdminを表示します。これにより、QtWebKit / QtWebEngineに よって引き起こされる多数のバグや問題が解決されます。  クエリツールでデータを編集モードでソートできるようになりました。  マウス操作なしでpgAdminを使用できるように、多くの操作用の設定可能なショートカット を備えたキーボードナビゲーションが追加されました。  ダッシュボードのテーブルとチャートは有効/無効にすることができます。  サーバとデータベースの統計、関数、パーティション、外部テーブル、およびEXPLAINが Greenplumでサポートされるようになりました。  pg_service.confファイルのサポートが追加されました。  Docker Containerディストリビューションは大幅にスリム化され、PunAdmin Webアプリ ケーションをホストするGunicornのAlpine Linuxに移行しました。  Pythonのコーディング規約PEP8に準拠するための様々な修正
  15. 15. pgAdmin4はいいの?使えるの?(1)  pgAdminⅢの良いところ  テーブルデータの一覧表示は明らかにpgAdminⅢの方が速い。件数が多いと顕著。  全体的に pgAdminⅢのがサクサク動く。  熟成されてる感じで、安心して使える。  古いPostgresにも使える。7.3からOK。  pgAdminⅢがダメなところ  Postgres10以降では使えない。  9.6は、最終版のv1.22.2のみ対応しています  事実上、Windowsでしか使えない。  しかも一台ずつインストールする必要がある。インストールマニュアル作って配布して 導入サポートするのがめんどくさかった。 個人の感想です
  16. 16. pgAdmin4はいいの?使えるの?(2)  pgAdmin4の良いところ  Postgres10に対応している。  「サーバーモード」で、1台にインストールしたpgAdminを他のPCからブラウザ経由 で利用することができる。  MySQLの phpMyAdmin的な利用方法がやっとできるようになりました!  監視系の機能が充実している。稼働状況のリアルタイムグラフとか。  pgAdmin4がダメなところ  まだまだ使われていると思われるPostgres9.1以前が扱えない。  論外なv1.0/1.1系はともかくとして、v2.0系でも「使える」レベルには達したが 「快適に使う」レベルにはまだまだ道のりが遠そう。  v3.0はかなり改善してる気がします。要チェック! 個人の感想です NEW!
  17. 17. pgAdmin4はいいの?使えるの?(3)  結論  多数のメンバーでPostgreSQL使うなら、pgAdmin4のサーバーモード便利です。  LinuxとかMacのひとなら、pgAdmin4 試してみるのもよい経験になると思います。  Windows使いでPostgres10の予定がないなら、pgAdminⅢで良いんじゃないでしょうか。  Windows使いでPostgres10の予定があるならA5M2とかも私は好きです。  先週出たpgAdmin4 v3.0 は動作速度かなり改善してよい感じです! 個人の感想です
  18. 18. 緊急情報:pgAdmin4 v3.0について  先週出たpgAdmin4 v3.0 は動作速度かなり改善してよい感じです!  が、周りの話を聞くかぎり、不具合多い。  インストール直後は動作してるけど再起動すると起動しなくなるとか。  インストールで指定した以外のブラウザを使うと動かないとかWebアプリにあるまじきとか。  データベースをリストアしたら成功しても「失敗しました」って出るとか。  日本語化したら設定が表示されなくなったとか。  v3.1か3.2まで待った方がよいかと。 4/20追記: → 最新情報によると、日本語化ファイルに問題があるようです。 英語で使用する、または 日本語の messages.poと messages.mo を対策版に変えると動くみたいです。 参考: http://a23.sblo.jp/article/183030435.html
  19. 19. 余談:  昨年、Postgres9.6のWindows版パッケージをインストールした人向け  pgAdmin4が強制インストールされてるとおもいます  そいつは封印して、pgAdmin4の v2.0以降 又は pgAdminⅢを別途インストールすべき。  特にpgAdmin4 v1.0 or v1.1は重いうえに動作自体が信用できないので使わない方がよいです。  Postgres9.5 まではpgAdminⅢなので安心です。  Postgres9.6 がいちばん微妙(pgAdmin的に)  Postgres10 からはpgAdminをインストールする/しないを選択できるようになりました。苦情多かったと思われ。 個人の感想です
  20. 20. pgAdminのまめ知識(1) 「PostgreSQL Binary Path」の設定  pgAdminをインストールして、「バックアップ・リストアがうまく動かない」 「なん か動きがおかしい」ときはこの設定を見直してみてください。  Postgresを複数バージョンインストールしてるときは要チェック。  pgAdminⅢも同様です。  設定: 1. pgAdminの上部ドロップダウンリストから file▼ > Preferences を選択。 2. 左メニューの Paths > Binary paths を選択。 3. PostgreSQL Binary Pathのところに、 インストールしたPostgresのbinのパスを書く
  21. 21. pgAdminのまめ知識(2) Windows版pgAdmin4をサーバーモードで動かす  pgAdmin4にはデスクトップモードとサーバーモードがあります。  明確な切り替えスイッチがあるわけではありません。デスクトップランタイムも一緒に インストールされていたらデスクトップアプリとしても動きますよ、程度の話です。  手順: 1.Windows用のPython、2.7系の最新バージョンをダウンロード&インストール https://www.python.org/downloads/windows/ python-2.7.13.msi で動作確認しました。 ※32bit版を使用してください。(pgAdmin4がx86版しかないですしね。。。) 2.Pythonのインストールフォルダから python.exe、python27.lib の2つをコピー。 C:Python27python.exe C:Python27libspython27.lib 3.pgAdmin4のインストールフォルダ C:Program Files (x86)pgAdmin 4v2venv の中に上記2つをコピー。 4.コマンドプロンプトを開き、python.exeをコピーしたフォルダに移動し、pgAdmin4.pyを蹴る。 cd "C:Program Files (x86)pgAdmin 4v2venv“ python ../web/pgAdmin4.py 5.ブラウザで localhost:5050 を開く。 pgAdmin4 v3.0 なら標準!
  22. 22. pgAdminのまめ知識(3) pgAdmin4の日本語化  日本PostgreSQLユーザ会有志の皆さんが数ヶ月がかりで翻訳を行ってくださいまして、 日本語表示できるようになってます。  V2.0系以降が対象です。 → ※v3.0は最初から日本語化ファイル入ってました。  手順: 1.https://github.com/postgres/pgadmin4/tree/master/web/pgadmin/translations/ja/LC_MESSAGES から messages.po と messages.mo をダウンロードし ~ pgAdmin 4v2webpgadmintranslationsjaLC_MESSAGES の中にコピー (フォルダが無ければつくってください) 2.pgAdmin 4v2webconfig.py をテキストエディタで開き、LANGUAGES に「,'ja','Japanese'」を追加。 3.pgAdminの上部ドロップダウンリストから file▼ > Preferences から、Miscellaneous > User Language でJapanese を選択。 4.同じく file▼ のところから Reset Layoutする。 ※詳しくは http://kkida-galaxy.blogspot.jp/2017/12/pgadmin4ja.html などご覧ください。 pgAdmin4 v3.0 なら標準!
  23. 23. pgAdminのまめ知識(4) CentOS7 への pgAdmin4インストール  yumコマンドで一発インストールしようとすると・・・pgAdminⅢが入ります。  PostgreSQL9.6以降のリポジトリでないとpgAdmin4ありません。  yumで入れようとするとハマりやすいので、wheelで入れた方がよいです。(要python2.7)  Conohaの630円プランでの導入例: ブラウザで http://{サーバのIP}:5050 を開く。 $ yum -y install gcc gcc-c++ kernel-devel $ yum -y install python-devel $ easy_install pip $ pip install --upgrade pip $ cd /tmp $ wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v3.0/pip/pgadmin4-3.0-py2.py3-none-any.whl $ pip install pgadmin4-3.0-py2.py3-none-any.whl $ cd /usr/lib/python2.7/site-packages/pgadmin4 $ cp -p config.py config.py.org $ vi config.py ※DEFAULT_SERVER = '127.0.0.1' → '0.0.0.0'に変更 $ firewall-cmd --add-port=5050/tcp --zone=public $ python pgAdmin4.py
  24. 24. pgAdminのまめ知識(5) pgAdmin4で「bytea_output」とかいうエラーが出た  サポート外の古いPostgreSQL(上記の例ではPostgres8.4)に接続しようとすると 発生することがあるようです。  エラーメッセージわかりにくくないですかね。。。
  25. 25. さいごに かたおかは pgAdmin4を応援 しています。
  26. 26. ご清聴ありがとう ございました。

×