SlideShare a Scribd company logo
PostgreSQLのcontribモジュール
を分類してみた
2015/8/7 OSC Kansai@kyoto
TIS株式会社
下雅意美紀
自己紹介
名前:下雅意 美紀(しもがい みき)
所属:TIS株式会社 OSS推進室
ブースでTISが開発しているOSSを紹介しています!
HyClops(Zabbix拡張ツール)
pg_monz(ZabbixのPostgreSQL監視テンプレート)
ISHIGAKI Template(OSSフルスタックテンプレート)
などなど
遊びに来てね!(≧∀≦*)
PostgreSQLのcontribモジュールを分類してみた
9.4で入っているcontribモジュール
adminpack earthdistance pg_archivecleanup pg_trgm test_decoding
auth_delay file_fdw pgbench pg_upgrade test_parser
auto_explain fuzzystrmatch pg_buffercache pg_upgrade_supporttest_shm_mq
btree_gin hstore pgcrypto pg_xlogdump tsearch2
btree_gist intagg pg_freespacemap postgres_fdw unaccent
chkpass intarray pg_prewarm seg uuid-ossp
citext isn pgrowlocks sepgsql vacuumlo
cube lo pg_standby spi worker_spi
dblink ltree pg_stat_statements sslinfo xml2
dict_int oid2name pgstattuple start-scripts
dict_xsyn pageinspect pg_test_fsync tablefunc
dummy_seclabel passwordcheck pg_test_timing tcn
全部で57個!
一つ一つ検証してみた!!!
うおおお!!
9.4で入っているcontribモジュール
adminpack earthdistance pg_archivecleanup pg_trgm test_decoding
auth_delay file_fdw pgbench pg_upgrade test_parser
auto_explain fuzzystrmatch pg_buffercache pg_upgrade_supporttest_shm_mq
btree_gin hstore pgcrypto pg_xlogdump tsearch2
btree_gist intagg pg_freespacemap postgres_fdw unaccent
chkpass intarray pg_prewarm seg uuid-ossp
citext isn pgrowlocks sepgsql vacuumlo
cube lo pg_standby spi worker_spi
dblink ltree pg_stat_statements sslinfo xml2
dict_int oid2name pgstattuple start-scripts
dict_xsyn pageinspect pg_test_fsync tablefunc
dummy_seclabel passwordcheck pg_test_timing tcn
9.4で入っているcontribモジュール
adminpack earthdistance pg_archivecleanup pg_trgm test_decoding
auth_delay file_fdw pgbench pg_upgrade test_parser
auto_explain fuzzystrmatch pg_buffercache pg_upgrade_supporttest_shm_mq
btree_gin hstore pgcrypto pg_xlogdump tsearch2
btree_gist intagg pg_freespacemap postgres_fdw unaccent
chkpass intarray pg_prewarm seg uuid-ossp
citext isn pgrowlocks sepgsql vacuumlo
cube lo pg_standby spi worker_spi
dblink ltree pg_stat_statements sslinfo xml2
dict_int oid2name pgstattuple start-scripts
dict_xsyn pageinspect pg_test_fsync tablefunc
dummy_seclabel passwordcheck pg_test_timing tcn
実用的 非実用的一般的な運用において、、、 ※独断と偏見です
実用的だと思ったモジュールを
(どっちかって言うとこっち?に)分類してみた
運用
性能
設計
セキュリティ
pg_stat_statements
postgres_fdw
例
実用的なモジュールの分類 (1/6)
運用
性能
セキュリティ
設計
※独断と偏見です
実用的なモジュールの分類 (2/6)
運用
性能
セキュリティ
設計
※独断と偏見です
約15個
adminpack ツール拡張
pg_archivecleanup
pg_buffercache メモリ・ディスク容量
pg_freespacemap
oid2name
pg_stat_statements リレーション・SQL情報
pgstattuple
pg_standby
pg_upgrade サーバ状態
pg_upgrade_support
start-scripts
pageinspect データ型・関数提供
pgrowlocks
lo ラージオブジェクト
vacuumlo
実用的なモジュールの分類 (3/6)
運用
性能
セキュリティ
設計
※独断と偏見です
約13個
dict_int
dict_xsyn 全文検索辞書の追加例
unaccent
dblink 外部リンク
file_fdw
postgres_fdw
citext
fuzzystrmatch
hstore
isn データ型・関数提供
tablefunc
uuid-ossp
spi(※)
実用的なモジュールの分類 (4/6)
運用
性能
セキュリティ
設計
※独断と偏見です
intarray 関数・演算子提供
pg_prewarm 高速検索
実用的なモジュールの分類 (5/6)
運用
性能
セキュリティ
設計
※独断と偏見です
auth_delay パスワード
chkpass
sslinfo SSL 証明書
実用的なモジュールの分類(6/6)
運用
性能
セキュリティ
設計
※独断と偏見です
btree_gin
btree_gist
ltree
pg_trgm
xml2
pgcrypto
sepgsql
auto_explain
pg_test_fsync
passwordcheck
tcn
非実用的だと思ったモジュールを
(どっちかって言うとこっち?に)分類してみた
非実用的なモジュールの分類 (1/3)
運用
性能
セキュリティ
設計
※独断と偏見です
非実用的なモジュールの分類 (2/3)
運用
性能
セキュリティ
設計
※独断と偏見です
pg_xlogdump ログのダンプ
test_shm_mq bgworker
worker_spi
非実用的なモジュールの分類 (3/3)
運用
性能
セキュリティ
設計
※独断と偏見です
intagg
cube 集約子・関数提供
earthdistance 数学・物理演算処理補助
seg
dummy_seclabel
test_decoding 試験のサポート
test_parser
pgbench
tseach2 テキスト検索機能
My favorite contrib modules
cube& earthdistance
cube& earthdistance
• 地球上の大円に沿った任意の
2点間の距離(大圏距離)を測る
関数を提供
• いわゆるPostGIS的な
PostgreSQL
+
GIS(Geographic Information System)
活用シーン:我らが宮原さんの旅行
西
与那国島
南
波照間島
東
納沙布岬
北
宗谷岬
東
北
西
南
postgres=# select
earth_distance( ll_to_earth(24.333,123.466),ll_to_earth(
45.312,141.561));
earth_distance
------------------
2847011.46107892
postgres=# select
earth_distance( ll_to_earth(43.236,145.486),ll_to_earth(
24.286,123.017));
earth_distance
------------------
2943450.19131047
約3000km!!
(初めて知った、、)
Find your favorite contrib modules!
ご清聴ありがとうございました!!

More Related Content

OSC2015kyoto

Editor's Notes

  1. 3つとも非実用的 サンプル・デバック・学習用
  2. Cube、eartchdistance、pgbench以外は公式マニュアルでも非実用的と言われている