PostgreSQL“ 超”入門
- PostgreSQL の現在地点 オープンソースカンファレンス 2020 Online/Nagoya
2020-05-30
特定非営利活動法人 日本 PostgreSQL ユーザ会
理事 高塚 遥1

●本講演の内容
●

●

●

講演者

「 PostgreSQL は今どうなっている？」を20 分で解説

高塚 遥 (harukat)「 PostgreSQL って普段はヘルプデスクなんだったっけ？」の人でも大丈夫

日本 PostgreSQL
ユーザ会 理事など、 PostgreSQLの技術支援業務

2

PostgreSQL とは●

多機能、高性能、かつオープンソースのリレーショナルデータベース管理システム– INGRES('70),POSTGRES('80) 由来の歴史（カリフォルニア大学バークレイ）– BSD ライセンス– 特定オーナー企業が無い
企業
ある種の OSS 開発体制

企業

企業
PostgreSQL
製品開発者

企業
PostgreSQL 開発体制

3

© SRA OSS, Inc. 日本支社 [OSC Kyoto 2020 講演資料より ]4

最近／今後のリリース●

2019 年 10 月 PostgreSQL 12 リリース●

2020 年 5 月 PostgreSQL 13 beta1 リリース●

2020 年 秋ごろ PostgreSQL 13 リリース5

近年のエンハンスメント
論理レプリケーション （ 10 から）●ＪＩＴコンパイル （ 11 から）●宣言的パーティショニング（ 10 から )●パラレルクエリ（ 9.6 から）●

拡張統計情報（ 10 から）●
ICU ライブラリによる COLLATE （ 10 から）●
テーブルアクセスメソッド（ 12 から）●

6現在の PostgreSQL と周辺
SQL 機能：● SQL:2016 の大部分に対応● 各種ストアド言語● 地理情報対応 (PostGIS)● 優れた JSON 対応● 格納方式の拡張 I/F

クラスタ構成：● Streaming Replication● Logical Replication● HA クラスタ●MPP クラスタ (shared nothing)● RAC 型 (shared disk) は不可

性能：
運用支援：
● 参照 / 更新ともベンチマーク● 運用監視ツール pg_statsinfo /pg_badger / pg_monz
多 CPU コア性能スケール● クライアントツール PgAdmin4● パラレルクエリ対応/ SI Object Browser● Just In Compile 対応● 各種クラウド、 k8s 対応
7SQL 機能面でのアドバンテージ●

ストアド言語●PL/pgSQL●
Perl 、 Python 、 Tcl●
V8 (JavaScript)●

PostGIS●OSS 拡張●地理情報のデファク
トスタンダード●

JSON 対応●
JSON の内部要素にインデックス●
JSON Path 関数

8テーブルアクセスメソッド(TableAM)●

テーブルデータ格納方式の拡張インタフェース●
PostgreSQL 12 で追加●

これを利用した新たな拡張が開発中：●Zheap ※– 肥大化防止・ VACUUM レスを目的とした
Undo ログ方式●ZedStore– OLAP 用途のカラム指向格納9現在の PostgreSQL と周辺
SQL 機能：● SQL:2016 の大部分に対応● 各種のストアド言語● 地理情報対応 (PostGIS)● JSON 対応● 格納方式の拡張 I/Fクラスタ構成：● Streaming Replication● Logical Replication● HA クラスタ●●

MPP クラスタ (shared nothing)

RAC 型 (shared disk) は不可

性能：
運用支援：
● 参照 / 更新ともベンチマーク● 運用監視ツール pg_statsinfo /pg_badger / pg_monz
多 CPU コア性能スケール● クライアントツール PgAdmin4● パラレルクエリ対応/ SI Object Browser● Just In Compile 対応● 各種クラウド、 k8s 対応
10CPU スケール（参照系）
9.2.x の段階で参照はスケール

コア数 =同時実行数ピークの結果

2012 年度 PGECons WG1 成果資料より

11

CPU スケール（更新系）
9.6.x で更新スケール

2016 年度 PGECons WG1 成果資料より

あくまでベンチマーク結果であることに注意！
12現在の PostgreSQL と周辺
SQL 機能：● SQL:2016 の大部分に対応● 各種のストアド言語● 地理情報対応 (PostGIS)● JSON 対応● 格納方式の拡張 I/F

クラスタ構成：● Streaming Replication● Logical Replication● HA クラスタ●●

MPP クラスタ (shared nothing)

RAC 型 (shared disk) は不可

性能：
運用支援：
● 参照 / 更新ともベンチマーク● 運用監視ツール pg_statsinfo /pg_badger / pg_monz
多 CPU コア性能スケール● クライアントツール PgAdmin4● パラレルクエリ対応/ SI Object Browser● Just In Compile 対応● 各種クラウド、 k8s 対応
13PostgreSQL のレプリケーション
DB サーバインスタンス単位
WAL ストリームによる物理レプリケーション

DB サーバシングルマスタマルチスレーブ

9.0 から

DB サーバDB サーバDB サーバ

テーブル単位論理レプリケーション

10 から同期スタンバイを指定可能

9.1 から

DB サーバ

クォーラム指定（内何台に書込したら）10 からカスケード
可能
DB サーバ

9.2 から14

現在の PostgreSQL と周辺
SQL 機能：● SQL:2016 の大部分に対応● 各種のストアド言語● 地理情報対応 (PostGIS)● JSON 対応● 格納方式の拡張 I/F

クラスタ構成：● Streaming Replication● Logical Replication● HA クラスタ●●MPP クラスタ (shared nothing)

RAC 型 (shared disk) は不可

性能：
運用支援：● 参照 / 更新ともベンチマーク● 運用監視ツール pg_statsinfo /pg_badger / pg_monz
多 CPU コア性能スケール● クライアントツール PgAdmin4● パラレルクエリ対応/ SI Object Browser● Just In Compile 対応● 各種クラウド、 k8s 対応
15PostgreSQL の運用監視pg_statsinfo●
pg_monz(Zabbix)●pg_badger●

https://www.postgresql.jp/sites/default/files/2017-01/
B1_PGCON_JP_kondo_nttoss.pdf より

https://www.sraoss.co.jp/technology/zabbix/introduction/pg_monz.php より

16

PostgreSQL のクライアントツール●pgAdmin 4●

各種商用製品 PostgreSQL 対応
Navicat for PostgreSQL●SI Object Browser for Postgres
A5:SQL Mk-2●●

https://www.pgadmin.org/screenshots より

17

PostgreSQL クラウド / コンテナ●

クラウドサービス●
Azure Database●
AWS RDS / Aurora●
GCP Cloud SQL●

K8s オペレータ●
KubeDB●
CrunchyData/
postgres-operator18

次バージョン 13 の展望
差分更新マテビュー●
透過的暗号化●
組み込みのコネクションプーラ
●大物は今回は入らなかった●

様々なプランナ改良●

様々な pgbench 改良●

様々な実行時統計情報の改良●

ＡＮＡＬＹＺＥ 進捗レポート●

VACUUM 改良（ブロックレベル並列、凍結優先）
19

PostgreSQL のエコシステム
コミュニティ・サポート・利用事例20コミュニティと商用サポート●

開発コミュニティ (Mailing List, Git, Slack)(PostgreSQL Global Development Group)●

国内のコミュニティ活動– 日本 PostgreSQL ユーザ会 (JPUG)– PostgreSQL エンタープライズ・コンソーシアム（ PGECons ）●国内の商用サポート– 提供会社いくつかあり、取り扱い会社多数

https://www.pgecons.org/postgresql-info/services/21

ユーザ動向●「より大規模」「よりクリティカル」は一巡●●

Oracle Database からの移行、最終組がスタート●●

世界中どこで使われていても珍しくない「 RAC 同様」の壁は残る

JPUG による DB 利用調査●

PostgreSQL は
４大人気 DBMS の一角

OracleSQLServer
MySQL
PostgreSQL
Other DBs

2019 年 JPUG 調べ :「近年業務で関わった DBMS 」
回答数（複数回答）

22

JPUG の活動●

イベント

PostgreSQL アンカンファレンス支援●
総会＆夏セミナー ６月ごろ
●PostgreSQL カンファレンス●PostgreSQL 勉強会 - 各地支部でそれぞれ年１、２回●合宿 （年 1 回程度）●
OSC など各種イベントに出展（通年）●
文書翻訳 https://github.com/pgsql-jp/jpug-doc●●

ML 運営 pgsql-jp@postgresql.jp 、 jpug-users@postgresql.jp

最近は Slack postgresql-jp が人口増加中●
Web 運営 ( www.postgresql.jp 、 lets.postgresql.jp ）●23

PostgreSQL 日本語文書●

オンラインドキュメント– http://www.postgresql.jp/document/●

Let's Postgres– http://lets.postgresql.jp/●

PGEcons 成果資料
– https://www.pgecons.org/download/works_index/

24

おしまい

ご清聴ありがとうございました25