Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

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

3.775 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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. ご清聴ありがとう ございました。

×