PostgreSQL13 新機能紹介

Satoshi Hirata
Satoshi HirataDeveloper at Fusic Co., Ltd.
PostgreSQL13 新機能紹介
2020/11/28
平田 哲
PostgreSQL13 新機能紹介
自己紹介
3
平田 哲(HIRATA, Satoshi)
id: debility
Japan PostgreSQL Users Group
Fukuoka.pm
Program, Server, Network, and “Nomikai”
Main Weapon: Custom Dual Squelcher
icon: © mutsuking
今日の話
4
PostgreSQL13 新機能の紹介をします。
・SQL機能の追加
・大規模環境に対する拡張について
・信頼性の向上について
・運用性の向上について
・将来バージョンへの対応
・その他
・非互換な変更について
質問や気になったことについて
5
質問はチャットに書いていただければ、回答で
きる限り回答します。
とは言え即答できないケースもあると思います
ので、その場合はAsk the speaker枠を活用
したいと思います。
Ask the speaker枠について
6
本セッションの直後、15:15-16:00 D会場を
Ask the speaker枠として設けています。
本セッションの内容で気になったことや、その
他PostgreSQLに関する質問をざっくばらんに
話せればと思いますので、もし気になる点など
ありましたらご活用ください。
参考文書
7
篠田の虎の巻
「PostgreSQL 13 新機能検証」日本語版
https://h50146.www5.hpe.com/products/software/oe/linux/
mainstream/support/lcc/pdf/PostgreSQL_13_GA_New_Feature
s_ja_20200927-1.pdf
SRA OSS,inc
PostgreSQL 13 検証レポート
https://www.sraoss.co.jp/tech-blog/wp-
content/uploads/2020/07/pg13_report_0728.pdf
PostgreSQLについて
PostgreSQL
9
多機能 RDBMS
初版は23年前、前身のPOSTGRESの初版は
31年前(1989年)
1社主導ではないOSS
PostgreSQL
10
これまでの主要機能追加
8.0 PITR/ Wndows
9.0 レプリケーション
9.1 Seriaalizable SI
9.2 多CPUコア対応
9.4 バイナリ JSON型
9.6 パラレルクエリ
10 論理レプリケーション
11 JITコンパイル
12 テーブルAM
日本PostgreSQLユーザ会
11
Slackにぜひ参加してください。
https://postgresql-hackers-jp.herokuapp.com/
ここに、メールアドレスを入力して、GET MY INVITE (私の
招待を受けます)押してください。
SQL機能の追加
SQLの追加
13
・FETCH FIRST WITH TIES
・JSON Pathでdatetime()メソッドに対応
FETCH FIRST WITH TIES
14
db1=# CREATE TABLE t_rank (id int, score int);
db1=# INSERT INTO t_rank VALUES (1, 100), (2, 90), (3, 90), (4,
90), (5, 85), (6, 85), (7, 80), (8, 80), (9, 75), (10, 60);
db1=# SELECT * FROM t_rank;
id | score
----+-------
1 | 100
2 | 90
3 | 90
4 | 90
5 | 85
6 | 85
7 | 80
8 | 80
9 | 75
10 | 60
(10 rows)
FETCH FIRST WITH TIES
15
db1=# SELECT * FROM t_rank ORDER BY score DESC OFFSET 0 ROWS
FETCH FIRST 3 ROWS ONLY;
id | score
----+-------
1 | 100
3 | 90
2 | 90
(3 rows)
db1=# SELECT * FROM t_rank ORDER BY score DESC OFFSET 0 ROWS
FETCH FIRST 3 ROWS WITH TIES;
id | score
----+-------
1 | 100
2 | 90
3 | 90
4 | 90
(4 rows)
JSON Pathでdatetime()メソッドに対応
16
db1=# SELECT jsonb_path_query('["12:30:54", "9:10:00",
"13:20:10"]', '$[*].datetime() ? (@ > "12:00:00".datetime())');
jsonb_path_query
------------------
"12:30:54”
"13:20:10”
(2 rows)
JSON Pathでdatetime()メソッドに対応
17
db1=# SELECT jsonb_path_query( '{"timestamp": "2020-06-06
05:05:05 PM +09:00"}'::jsonb, '$.timestamp.datetime("YYYY-MM-DD
HH:MI:SS AM TZH:TZM")’);
jsonb_path_query
-----------------------------
"2020-06-06T17:05:05+09:00”
(1 row)
JSON Pathでdatetime()メソッドに対応
18
db1=# SELECT jsonb_path_query_tz( '["12:30:54", "9:10:00",
"13:20:10"]', '$[*].datetime() ? (@ < "12:00:00
+08".datetime())’);
jsonb_path_query_tz
---------------------
"12:30:54”
"09:10:00”
(2 rows)
大規模環境に対する拡張について
大規模環境に対する拡張について
20
・B-Treeインデックスの重複排除
・パラレル処理の拡張
・WAL出力の抑制
B-Tree インデックスの重複排除
21
B-Tree インデックスでは重複排除処理が標
準で動作するようになりました。
ストレージ容量と I/O を削減することができま
す。
B-Tree インデックスの重複排除
22
キー値 ヒープTID
データ1 TID 1
データ2 TID 2
データ2 TID 3
データ2 TID 4
データ3 TID 5
キー値 ヒープTID
データ1 TID 1
データ2 TID 2, TID 3, TID 4
データ3 TID 5
PostgreSQL13これまで
B-Tree インデックスの重複排除
23
https://www.sraoss.co.jp/tech-blog/wp-content/uploads/2020/07/pg13_report_0728.pdf
db1=# INSERT INTO btree_text SELECT 'foo' FROM generate_series(1,100000);
B-Tree インデックスの重複排除
24
https://www.sraoss.co.jp/tech-blog/wp-content/uploads/2020/07/pg13_report_0728.pdf
遅延処理方式により、実行時間増は軽微
B-Tree インデックスの重複排除
25
重複排除が効かない場合
・データ型
・非決定的なCOLLATEを使った文字列型
・real, double precision
・numeric
・コンテナ型(配列、複合型、範囲型、JSONB)
・INCLUDEを伴うインデックス
パラレル処理の拡張
26
テーブルに複数のインデックスが作成されて
いる場合、VACUUM 処理が並列に行われる
ようになりました。
パラレル処理の拡張
27
(SQL で実行する場合)
VACUUM (PARALLEL parallel_degree) table
(シェルで実行する場合)
vacuumdb --parallel=parallel_degree --table table
並列度の指定方法
WAL出力の抑制
28
wal_level パラメーターが minimal に設定され
ている場合に、WAL 出力が抑制される構
文が増えました。
信頼性の向上について
信頼性の向上について
30
・バックアップの信頼性向上
・ストリーミング・レプリケーションの動的構成
変更
バックアップの信頼性向上
31
バックアップの整合性をチェックできるようになりま
した。
pg_basebackup コマンド等によるベース・バック
アップにはファイル単位のサイズとチェックサムが取
得され、バックアップ先に保存されます。
取得したバックアップの整合性はpg_verifybackup
コマンドでチェックすることができます。
ストリーミング・レプリケーションの動的構成変更
32
ストリーミング・レプリケーションのスタンバイ・
インスタンスで使用する各種パラメーターは動
的に変更できるようになりました。
この新機能により、プライマリ・インスタンス
障害時にスタンバイ・インスタンスを再起動す
る必要がなくなりました。
運用性の向上について
運用性の向上について
34
・インクリメンタルソート
・ディスク・ベースのハッシュ集約
・パーティション・テーブルの論理レプリケーション
・モニタリング機能の強化
・実行計画作成と WAL 出力量のトラッキング
・待機イベントの追加
インクリメンタルソート
35
既にソートされている結果を利用して、残る部
分は追加でソートする実行プラン
インクリメンタルソート
36
(テーブル作成)
db1=# CREATE TABLE t_log (dt timestamp(0), severity text,
message text);
(ダミーデータを 1 万件投入)
db1=# INSERT INTO t_log SELECT
now() + ((g / 2) || 's')::interval,
CASE g % 3 WHEN 0 THEN 'LOG' WHEN 1 THEN 'ERROR' ELSE 'FATAL'
END,
md5(g::text)
FROM generate_series(1, 10000) g;
インクリメンタルソート
37
(テーブル内容)
db1=# SELECT * FROM t_log;
dt | severity | message
--------------------+-------+----------------------------------
2020-05-25 14:09:51 | ERROR | c4ca4238a0b923820dcc509a6f75849b
2020-05-25 14:09:52 | FATAL | c81e728d9d4c2f636f067f89cc14862c
2020-05-25 14:09:52 | LOG | eccbc87e4b5ce2fe28308fd9f2a7baf3
2020-05-25 14:09:53 | ERROR | a87ff679a2f3e71d9181a67b7542122c
2020-05-25 14:09:53 | FATAL | e4da3b7fbbce2345d7772b0674a318d5
: 後略
(インデックス作成、VACUUM ANALYZE)
db1=# CREATE INDEX ON t_log (dt);
db1=# VACUUM (ANALYZE) t_log;
インクリメンタルソート
38
(インクリメンタルソートを使わない場合)
db1=# SET enable_incrementalsort TO off;
db1=# EXPLAIN (ANALYZE)
SELECT * FROM t_log WHERE dt > ' 2020-05-25 14:10'
ORDER BY dt, severity, message LIMIT 1000;
QUERY PLAN
----------------------------------------------------------------------------
Limit (cost=765.86..768.36 rows=1000 width=46)
(actual time=3.021..3.197 rows=1000 loops=1)
-> Sort (cost=765.86..790.80 rows=9974 width=46)
(actual time=3.019..3.085 rows=1000 loops=1)
Sort Key: dt, severity, message
Sort Method: top-N heapsort Memory: 127kB
-> Seq Scan on t_log (cost=0.00..219.00 rows=9974 width=46)
(actual time=0.013..1.470 rows=9981 loops=1)
Filter: (dt > '2020-05-25 14:10:00'::timestamp without time zone)
Rows Removed by Filter: 19
Planning Time: 0.148 ms
Execution Time: 3.309 ms
(9 rows)
インクリメンタルソート
39
(インクリメンタルソートを使った場合)
db1=# SET enable_incrementalsort TO on;
db1=# EXPLAIN (ANALYZE)
SELECT * FROM t_log WHERE dt > ' 2020-05-25 14:10'
ORDER BY dt, severity, message LIMIT 1000;
QUERY PLAN
----------------------------------------------------------------------------
Limit (cost=0.38..74.06 rows=1000 width=46)
(actual time=0.031..0.599 rows=1000 loops=1)
-> Incremental Sort (cost=0.38..735.25 rows=9974 width=46)
(actual time=0.030..0.534 rows=1000 loops=1)
Sort Key: dt, severity, message
Presorted Key: dt
Full-sort Groups: 32 Sort Method: quicksort Average
Memory: 27kB Peak Memory: 27kB
-> Index Scan using t_log_dt_idx on t_log
(cost=0.29..379.83 rows=9974 width=46)
(actual time=0.011..0.333 rows=1001 loops=1)
Index Cond:
(dt > '2020-05-25 14:10:00'::timestamp without time zone)
Planning Time: 0.107 ms
Execution Time: 0.649 ms
(9 rows)
ディスク・ベースのハッシュ集約
40
ハッシュ・テーブルを操作する処理はメモリー
使用量の上限を超えるとストレージ上で
行われるようになりました。
従来はメモリー使用量に上限が無かったため、
OOM Killer の対象になることがありました。
ディスク・ベースのハッシュ集約
41
ハッシュ集約:GROUP BYを使った集約の問い合わ
せで使われるプラン要素
これまでは十分なメモリ量がwork_memで設定され
ている場合のみ使われていた
work_memが不足する場合は代わりにグループ集
約プランが使われるが、これは事前にソート処理が
必要となるため性能が劣るケースがあった
ディスク・ベースのハッシュ集約
42
実行コストおよび所要時間
グループ集約>ストレージハッシュ集約>ハッシュ集約
データが増えて、work_memが足りずにハッシュ集約が使わ
れなくなった場合の極端な性能劣化を防ぐことができる
パーティション・テーブルの論理レプリケーション
43
パーティション・テーブルの論理レプリケーショ
ンが実現できるようになりました。
モニタリング機能の強化
44
ANALYZE 文や pg_basebackup コマンドの
実行状況をリアルタイムに確認できるカタロ
グが追加されました。
またキャッシュのヒット率や I/O の状況を確認
できるようになりました。
実行計画作成と WAL 出力量のトラッキング
45
実行計画作成時やSQL文実行時のWAL出力
量がトラッキングできるようになりました。
pg_stat_statements モジュールや EXPLAIN
文で確認できます。
待機イベントの追加
46
監視できる待機イベントがいくつか追加され
ました。
pg_stat_activity カタログで確認できます。
将来バージョンへの対応
将来バージョンへの対応
48
・64ビット・トランザクションID対応
・並列実行の拡張
・PUBLICATIONの拡張
64ビット・トランザクションID対応
49
64ビット・トランザクションIDを示す xid8 デー
タ型と、このデータ型を扱う各種関数群が追
加されました。
並列実行の拡張
50
COPY、INSERT、VACUUM 等のパラレル化を
実装できるようにするため、パラレル・
ワーカー・プロセス間でページロックとリレー
ション拡張ロックを競合させて排他的に処
理するようになりました。
PUBLICATIONの拡張
51
テーブル以外のオブジェクトを PUBLICATION
に追加できる準備が行われました。
その他
その他
53
・pg_bench拡張
・pg_rewind拡張
pg_bench拡張
54
・--partitionオプションの追加
・--partition-methodオプションの追加
・サーバ側での標準シナリオテストデータ作成
・標準シナリオのテストデータ生成中の進捗表
示が変更
pg_rewind拡張
55
・自動クラッシュリカバリ
・リカバリ設定作成オプションの追加
・WALアーカイブ 利用の自動化
非互換な変更について
非互換な変更について
57
・createuserコマンドの --adduser、--no-
adduserオプションが削除
・CSV形式ログの末尾にバックエンドタイプが
追記される
・疑似データ型opaqueを廃止
・OpenSSL1.0.0以下はサポート対象外
・psqlコマンドのデフォルトプロンプトが変更
非互換な変更について
58
・to_date、to_timestampのTMがロケールに応
じた出力になる
・リカバリの一時停止中にプロモーションが行
われた場合はプロモーションを優先
・抽象型を返す関数はパーティション・キーの
値として使用できない(PostgreSQL12.2以
前にバックポートされた)
非互換な変更について
59
・待機イベントの名前が変更
・SIMLAR TO ... ESCAPE NULL がNULLを返
す
・effective_io_concurrency値の意味が変更
まとめ
まとめ
61
PostgreSQL13は変更が少なめのメジャーリ
リースなので、比較的バージョンアップしやす
いのではないかと思います。
(再掲)Ask the speaker枠について
62
本セッションの直後、15:15-16:00 D会場を
Ask the speaker枠として設けています。
本セッションの内容で気になったことや、その
他PostgreSQLに関する質問をざっくばらんに
話せればと思いますので、もし気になる点など
ありましたらご活用ください。
ご清聴ありがとうございました。
Appendix:並列VACUUM
並列VACUUM
65
複数のインデックスが存在する1つのテーブル
に対して、各インデックスごとにVACUUMを実
行できるようになった
並列数は、テーブル内のインデックス数と、
max_parallel_meaintenance_workersで
指定された値の小さいほうが採用される
(parallel_degreeにて設定可能)
並列VACUUM
66
https://blog.dbi-services.com/postgresql-13-parallel-vacuum-for-indexes/
postgres=# create table t1 as select i as a, i::text as b, now()
as c from generate_series(1,3000000) i;
SELECT 3000000
postgres=# create index i1 on t1(a);
CREATE INDEX
postgres=#
postgres=# create index i2 on t1(b);
CREATE INDEX
postgres=# create index i3 on t1(c);
CREATE INDEX
並列VACUUM
67
https://blog.dbi-services.com/postgresql-13-parallel-vacuum-for-indexes/
postgres=# create table t1 as select i as a, i::text as b, now()
as c from generate_series(1,3000000) i;
SELECT 3000000
postgres=# create index i1 on t1(a);
CREATE INDEX
postgres=#
postgres=# create index i2 on t1(b);
CREATE INDEX
postgres=# create index i3 on t1(c);
CREATE INDEX
並列VACUUM
68
https://blog.dbi-services.com/postgresql-13-parallel-vacuum-for-indexes/
postgres=# update t1 set a=5,b='ccc',c=now() where mod(a,5)=0;
UPDATE 600000
postgres=# vacuum (parallel 4) t1;
VACUUM
postgres 16688 15925 13 07:30 ? 00:01:07 postgres:
postgres postgres [local] VACUUM
postgres 19184 15925 0 07:39 ? 00:00:00 postgres:
parallel worker for PID 16688
postgres 19185 15925 0 07:39 ? 00:00:00 postgres:
parallel worker for PID 16688
並列VACUUM
69
https://blog.dbi-services.com/postgresql-13-parallel-vacuum-for-indexes/
postgres=# vacuum (parallel 4, verbose true) t1;
INFO: vacuuming "public.t1"
INFO: launched 2 parallel vacuum workers for index vacuuming (planned: 2)
INFO: scanned index "i2" to remove 600000 row versions by parallel vacuum worker
DETAIL: CPU: user: 0.24 s, system: 0.06 s, elapsed: 0.89 s
INFO: scanned index "i1" to remove 600000 row versions
DETAIL: CPU: user: 0.17 s, system: 0.10 s, elapsed: 1.83 s
INFO: scanned index "i3" to remove 600000 row versions by parallel vacuum worker
DETAIL: CPU: user: 0.16 s, system: 0.14 s, elapsed: 1.69 s
INFO: scanned index "i4" to remove 600000 row versions by parallel vacuum worker
DETAIL: CPU: user: 0.25 s, system: 0.09 s, elapsed: 1.17 s
INFO: "t1": removed 600000 row versions in 20452 pages
DETAIL: CPU: user: 0.17 s, system: 0.16 s, elapsed: 1.43 s
INFO: index "i1" now contains 3000000 row versions in 14308 pages
DETAIL: 600000 index row versions were removed.
1852 index pages have been deleted, 640 are currently reusable.
CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s.
INFO: index "i2" now contains 3000000 row versions in 14305 pages
DETAIL: 600000 index row versions were removed.
1851 index pages have been deleted, 640 are currently reusable.
CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s.
(後略)
並列VACUUM
70
VACUUM FULLと同時に利用できない
インデックスサイズが
min_parallel_index_scan_sizeよりも大きい場
合のみ、並列実行の対象内となる
1 of 70

Recommended

Lt ingaoho-jsonb+postgeres fdw by
Lt ingaoho-jsonb+postgeres fdwLt ingaoho-jsonb+postgeres fdw
Lt ingaoho-jsonb+postgeres fdwToshi Harada
1.3K views29 slides
Pgunconf 20121212-postgeres fdw by
Pgunconf 20121212-postgeres fdwPgunconf 20121212-postgeres fdw
Pgunconf 20121212-postgeres fdwToshi Harada
2.1K views45 slides
Webで役立つRDBの使い方 by
Webで役立つRDBの使い方Webで役立つRDBの使い方
Webで役立つRDBの使い方Soudai Sone
7.6K views118 slides
PythonでテキストをJSONにした話(PyCon mini sapporo 2015) by
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)Satoshi Yamada
3.3K views54 slides
pg_bigmを用いた全文検索のしくみ(前編) by
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)NTT DATA OSS Professional Services
4.4K views34 slides
PostgreSQL SQLチューニング入門 実践編(pgcon14j) by
PostgreSQL SQLチューニング入門 実践編(pgcon14j)PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)Satoshi Yamada
4.4K views53 slides

More Related Content

What's hot

20090107 Postgre Sqlチューニング(Sql編) by
20090107 Postgre Sqlチューニング(Sql編)20090107 Postgre Sqlチューニング(Sql編)
20090107 Postgre Sqlチューニング(Sql編)Hiromu Shioya
8.3K views26 slides
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料 by
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料kasaharatt
4.2K views32 slides
DynamoDB MyNA・JPUG合同DB勉強会 in 東京 by
DynamoDB   MyNA・JPUG合同DB勉強会 in 東京DynamoDB   MyNA・JPUG合同DB勉強会 in 東京
DynamoDB MyNA・JPUG合同DB勉強会 in 東京Yuko Mori
2.1K views57 slides
my sql-postgresql勉強会#6 LT 私的なPostgreSQLの楽しみ方 by
my sql-postgresql勉強会#6 LT 私的なPostgreSQLの楽しみ方my sql-postgresql勉強会#6 LT 私的なPostgreSQLの楽しみ方
my sql-postgresql勉強会#6 LT 私的なPostgreSQLの楽しみ方Toshi Harada
2.6K views25 slides
Chugokudb study-20150131 by
Chugokudb study-20150131Chugokudb study-20150131
Chugokudb study-20150131Toshi Harada
2.1K views133 slides
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~ by
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
118.7K views88 slides

What's hot(20)

20090107 Postgre Sqlチューニング(Sql編) by Hiromu Shioya
20090107 Postgre Sqlチューニング(Sql編)20090107 Postgre Sqlチューニング(Sql編)
20090107 Postgre Sqlチューニング(Sql編)
Hiromu Shioya8.3K views
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料 by kasaharatt
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
kasaharatt4.2K views
DynamoDB MyNA・JPUG合同DB勉強会 in 東京 by Yuko Mori
DynamoDB   MyNA・JPUG合同DB勉強会 in 東京DynamoDB   MyNA・JPUG合同DB勉強会 in 東京
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
Yuko Mori2.1K views
my sql-postgresql勉強会#6 LT 私的なPostgreSQLの楽しみ方 by Toshi Harada
my sql-postgresql勉強会#6 LT 私的なPostgreSQLの楽しみ方my sql-postgresql勉強会#6 LT 私的なPostgreSQLの楽しみ方
my sql-postgresql勉強会#6 LT 私的なPostgreSQLの楽しみ方
Toshi Harada2.6K views
Chugokudb study-20150131 by Toshi Harada
Chugokudb study-20150131Chugokudb study-20150131
Chugokudb study-20150131
Toshi Harada2.1K views
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~ by Miki Shimogai
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai118.7K views
Jpug study-pq 20170121 by Kosuke Kida
Jpug study-pq 20170121Jpug study-pq 20170121
Jpug study-pq 20170121
Kosuke Kida2K views
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料) by NTT DATA Technology & Innovation
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
[9.5新機能]追加されたgroupbyの使い方 by Kosuke Kida
[9.5新機能]追加されたgroupbyの使い方[9.5新機能]追加されたgroupbyの使い方
[9.5新機能]追加されたgroupbyの使い方
Kosuke Kida3K views
PostgreSQLとPythonとSQL by Satoshi Yamada
PostgreSQLとPythonとSQLPostgreSQLとPythonとSQL
PostgreSQLとPythonとSQL
Satoshi Yamada4.8K views
MySQL のユーザー定義変数と RDB のココロ by tsudaa
MySQL のユーザー定義変数と RDB のココロMySQL のユーザー定義変数と RDB のココロ
MySQL のユーザー定義変数と RDB のココロ
tsudaa2.3K views
20190418_PGStrom_on_ArrowFdw by Kohei KaiGai
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw
Kohei KaiGai2.3K views
PostgreSQL Conference Japan 2021 B2 Citus 10 by Noriyoshi Shinoda
PostgreSQL Conference Japan 2021 B2 Citus 10PostgreSQL Conference Japan 2021 B2 Citus 10
PostgreSQL Conference Japan 2021 B2 Citus 10
Noriyoshi Shinoda510 views
20181212 - PGconf.ASIA - LT by Kohei KaiGai
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
Kohei KaiGai805 views
外部データラッパによる PostgreSQL の拡張 by Shigeru Hanada
外部データラッパによる PostgreSQL の拡張外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張
Shigeru Hanada9.4K views
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみ by Masahiko Sawada
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみpg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
Masahiko Sawada15.3K views
20200828_OSCKyoto_Online by Kohei KaiGai
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_Online
Kohei KaiGai685 views
5 古雷my sql源碼與資料庫規範 by Ivan Tu
5 古雷my sql源碼與資料庫規範5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範
Ivan Tu1.4K views

Similar to PostgreSQL13 新機能紹介

Maatkit で MySQL チューニング by
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニングKensuke Nagae
1.7K views19 slides
HandlerSocket plugin for MySQL by
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLakirahiguchi
12.9K views51 slides
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜 by
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜Michitoshi Yoshida
2.8K views25 slides
PostgreSQL 12の話 by
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話Masahiko Sawada
7.6K views32 slides
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics by
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsKohei KaiGai
1.1K views49 slides
整数列圧縮 by
整数列圧縮整数列圧縮
整数列圧縮JAVA DM
8.1K views29 slides

Similar to PostgreSQL13 新機能紹介(20)

Maatkit で MySQL チューニング by Kensuke Nagae
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
Kensuke Nagae1.7K views
HandlerSocket plugin for MySQL by akirahiguchi
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi12.9K views
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜 by Michitoshi Yoshida
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
Michitoshi Yoshida2.8K views
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics by Kohei KaiGai
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
Kohei KaiGai1.1K views
整数列圧縮 by JAVA DM
整数列圧縮整数列圧縮
整数列圧縮
JAVA DM8.1K views
Introduction of Oracle Database Architecture by Ryota Watabe
Introduction of Oracle Database ArchitectureIntroduction of Oracle Database Architecture
Introduction of Oracle Database Architecture
Ryota Watabe4.2K views
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて by Nobuyuki Sasaki
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki7.1K views
A Benchmark Test on Presto, Spark Sql and Hive on Tez by Gw Liu
A Benchmark Test on Presto, Spark Sql and Hive on TezA Benchmark Test on Presto, Spark Sql and Hive on Tez
A Benchmark Test on Presto, Spark Sql and Hive on Tez
Gw Liu4.7K views
SQLチューニング入門 入門編 by Miki Shimogai
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
Miki Shimogai11.7K views
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ... by NTT DATA Technology & Innovation
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
Azure SQLデータベース最新動向&TIPS by nishioka1
Azure SQLデータベース最新動向&TIPSAzure SQLデータベース最新動向&TIPS
Azure SQLデータベース最新動向&TIPS
nishioka13.4K views
TDEで透過的暗号化 by furandon_pig
TDEで透過的暗号化TDEで透過的暗号化
TDEで透過的暗号化
furandon_pig2.9K views

More from Satoshi Hirata

20201102 postgresql unconference_debility by
20201102 postgresql unconference_debility20201102 postgresql unconference_debility
20201102 postgresql unconference_debilitySatoshi Hirata
172 views52 slides
最近のPerl界隈の話とか by
最近のPerl界隈の話とか最近のPerl界隈の話とか
最近のPerl界隈の話とかSatoshi Hirata
463 views42 slides
ネットワーク障害を支配したい話 by
ネットワーク障害を支配したい話ネットワーク障害を支配したい話
ネットワーク障害を支配したい話Satoshi Hirata
1.2K views88 slides
すごいログ解析の話 by
すごいログ解析の話すごいログ解析の話
すごいログ解析の話Satoshi Hirata
1.2K views46 slides
ピタゴラなんとかスイッチを作って破壊した話 by
ピタゴラなんとかスイッチを作って破壊した話ピタゴラなんとかスイッチを作って破壊した話
ピタゴラなんとかスイッチを作って破壊した話Satoshi Hirata
1.1K views77 slides
RDS for PostgreSQLにまつわる雑多な話 by
RDS for PostgreSQLにまつわる雑多な話RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話Satoshi Hirata
1.6K views65 slides

More from Satoshi Hirata(20)

20201102 postgresql unconference_debility by Satoshi Hirata
20201102 postgresql unconference_debility20201102 postgresql unconference_debility
20201102 postgresql unconference_debility
Satoshi Hirata172 views
最近のPerl界隈の話とか by Satoshi Hirata
最近のPerl界隈の話とか最近のPerl界隈の話とか
最近のPerl界隈の話とか
Satoshi Hirata463 views
ネットワーク障害を支配したい話 by Satoshi Hirata
ネットワーク障害を支配したい話ネットワーク障害を支配したい話
ネットワーク障害を支配したい話
Satoshi Hirata1.2K views
すごいログ解析の話 by Satoshi Hirata
すごいログ解析の話すごいログ解析の話
すごいログ解析の話
Satoshi Hirata1.2K views
ピタゴラなんとかスイッチを作って破壊した話 by Satoshi Hirata
ピタゴラなんとかスイッチを作って破壊した話ピタゴラなんとかスイッチを作って破壊した話
ピタゴラなんとかスイッチを作って破壊した話
Satoshi Hirata1.1K views
RDS for PostgreSQLにまつわる雑多な話 by Satoshi Hirata
RDS for PostgreSQLにまつわる雑多な話RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話
Satoshi Hirata1.6K views
クイズを支える技術2017 by Satoshi Hirata
クイズを支える技術2017クイズを支える技術2017
クイズを支える技術2017
Satoshi Hirata1K views
re:Invent 2015 参加報告 by Satoshi Hirata
re:Invent 2015 参加報告re:Invent 2015 参加報告
re:Invent 2015 参加報告
Satoshi Hirata1.2K views
botになる技術 (How to be a bot) by Satoshi Hirata
botになる技術 (How to be a bot)botになる技術 (How to be a bot)
botになる技術 (How to be a bot)
Satoshi Hirata3.1K views
福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について by Satoshi Hirata
福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について 福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について
福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について
Satoshi Hirata1.1K views
クイズを支える技術 by Satoshi Hirata
クイズを支える技術クイズを支える技術
クイズを支える技術
Satoshi Hirata4.4K views
Wakameとか仮想化とか by Satoshi Hirata
Wakameとか仮想化とかWakameとか仮想化とか
Wakameとか仮想化とか
Satoshi Hirata1.2K views
Perlで仮想サーバ制御(仮) by Satoshi Hirata
Perlで仮想サーバ制御(仮)Perlで仮想サーバ制御(仮)
Perlで仮想サーバ制御(仮)
Satoshi Hirata888 views
YAPC::Asia 2010 参加報告(と後日談) by Satoshi Hirata
YAPC::Asia 2010 参加報告(と後日談)YAPC::Asia 2010 参加報告(と後日談)
YAPC::Asia 2010 参加報告(と後日談)
Satoshi Hirata564 views

Recently uploaded

Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
109 views26 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
28 views36 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
146 views64 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
66 views12 slides
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 by
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
10 views22 slides

Recently uploaded(7)

PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga28 views

PostgreSQL13 新機能紹介