SlideShare uma empresa Scribd logo
1 de 40
© 2021 NTT DATA Corporation 1 © 2021 NTT DATA Corporation
PostgreSQL開発コミュニティに参加しよう!
2021年11月12日
株式会社NTTデータ 藤井 雅雄
PostgreSQL Conference Japan 2021
© 2021 NTT DATA Corporation 2
2
© 2021 NTT DATA Corporation
自己紹介
藤井 雅雄
Database Technical Lead @ NTTデータ
データベース研究開発
PostgreSQL 技術支援
PostgreSQLコミッタ
レプリケーション
WAL圧縮
バックアップ進捗確認
pg_bigm(全文検索モジュール) コミッタ
fujii_masao
MasaoFujii
© 2021 NTT DATA Corporation 3
PostgreSQL開発コミュニティに参加しよう!
© 2021 NTT DATA Corporation 4
4
© 2021 NTT DATA Corporation
PostgreSQLコミュニティ (グローバル)
The PostgreSQL Global Development Group
PostgreSQL本体を開発しているコミュニティ
Local User Groups
世界各地 (35ヶ国67地域) にあるPostgreSQLユーザグループ
PUG = PostgreSQL User Group
Events
世界各地でPostgreSQLに関するカンファレンスなどのイベントが開催
Slack, IRC, LinkedIn, etc
様々なチャンネルでPostgreSQLユーザが集まってコミュニケーション
© 2021 NTT DATA Corporation 5
5
© 2021 NTT DATA Corporation
PostgreSQLコミュニティ (日本)
日本PostgreSQLユーザ会
日本のPostgreSQLユーザグループ
JPUG = Japan PostgreSQL User Group
支部
北海道、東北、新潟、名古屋、関西、四国、九州、沖縄
文書・書籍関連分科会
PostgreSQL関連の文書の翻訳
PostgreSQLエンタープライズ・コンソーシアム
PostgreSQLの普及推進を目的とする企業コンソーシアム
PGECons = PostgreSQL Enterprise Consortium
© 2021 NTT DATA Corporation 6
6
© 2021 NTT DATA Corporation
PostgreSQLコミュニティ (日本)
Events
日本の様々なコミュニティ・団体・企業・個人がカンファレンスなどのイベントを開催
PostgreSQL Conference Japan
PostgreSQLアンカンファレンス ...etc
Slack
PostgreSQLに関する日本語Slack
© 2021 NTT DATA Corporation 7
7
© 2021 NTT DATA Corporation
PostgreSQLコミュニティ (グローバル)
The PostgreSQL Global Development Group
PostgreSQL本体を開発しているコミュニティ
Local User Groups
世界各地 (35ヶ国67地域) にあるPostgreSQLユーザグループ
PUG = PostgreSQL User Group
Events
世界各地でPostgreSQLに関するカンファレンスなどのイベントが開催
Slack, IRC, LinkedIn, etc
様々なチャンネルでPostgreSQLユーザが集まってコミュニケーション
PostgreSQL開発コミュニティに参加しよう!
© 2021 NTT DATA Corporation 8
8
© 2021 NTT DATA Corporation
The PostgreSQL Global Development Group
メーリングリスト Wiki
Gitレポジトリ
コアチーム コミッタ
開発、レビュー、テスト、バグ報告
コントリビュータ
ユーザ
© 2021 NTT DATA Corporation 9
9
© 2021 NTT DATA Corporation
The PostgreSQL Global Development Group
メーリングリスト Wiki
Gitレポジトリ
コアチーム コミッタ
開発、レビュー、テスト、バグ報告
コントリビュータ
ユーザ
参加
選出
選出
7名
28名
v14開発では
415名
© 2021 NTT DATA Corporation 10
10
© 2021 NTT DATA Corporation
The PostgreSQL Global Development Groupに参加の企業例
1 690 Crunchy Data (4)
2 626 EnterpriseDB (6)
3 300 VMWare (3)
4 212 Microsoft (4)
5 108 NTT Data (1)
6 93 Fujitsu (1)
7 53 Unknown (3)
8 48 Postgres Professional (2)
9 31 Redpill Linpro (1)
10 8 NTT (1)
10 8 University of Cambridge (1)
12 2 SRA OSS (1)
13 1 credativ (1)
※2020年のコミッタ別のコミット数について、
2020年末時点のコミッタの所属企業ごとに集計
※()内の数字は、各企業の所属コミッタ数
2020年の(コミッタ所属の)会社別のコミット数 第20回PostgreSQLアンカンファレンス
資料からの抜粋
© 2021 NTT DATA Corporation 11
11
© 2021 NTT DATA Corporation
モチベーション
PostgreSQL開発コミュニティになぜ参加したいか?
技術者にとってのモチベーションの例としては、
① PostgreSQLの内部や設計思想、仕様、制約などを深く理解できる。
PostgreSQLを効果的に利用できるようになる
② 世界中の様々な技術者たちの考えに触れることで、
技術者としての見識が大きく広がる。様々な技術者とのパイプができる
③ パッチの作成やレビューを通じて、コーディングスキルが向上する
④ 新機能開発やバグ修正の成果に対して世界中から感謝される。
自身の成果として名前が残り、セルフブランディングになる
© 2021 NTT DATA Corporation 12
12
© 2021 NTT DATA Corporation
モチベーション
PostgreSQL開発コミュニティになぜ参加したいか?
事業者にとってのモチベーションの例としては、
① データベース技術の最新動向について早期に情報を入手でき、
事業に活かすことで、その事業領域でのプレゼンスを獲得できる
② 世界中の様々な企業・技術者とパイプができ、
他社とのアライアンスなどの機会につながる可能性がある
③ 事業で必要な機能やバグ修正をPostgreSQLに取り込める。
事業者の技術力アピールやブランド力を向上できる
© 2021 NTT DATA Corporation 13
13
© 2021 NTT DATA Corporation
PostgreSQL開発のフロー
提案・バグ報告
議論
パッチ作成
レビュー
コミット
新機能の提案やバグの報告を行う
新機能の必要性やユーザI/F、アーキテクチャ、
実現方法、バグ原因、修正方法などを議論する
議論結果を踏まえて、新機能やバグ修正を
コーディングして、パッチを作成・投稿する
パッチをレビューして、不備を改修する
コミッタがパッチをPostgreSQL本体に取り込む
繰
り
返
し
© 2021 NTT DATA Corporation 14
議論に参加しよう!
© 2021 NTT DATA Corporation 15
15
© 2021 NTT DATA Corporation
メーリングリストの購読
PostgreSQL開発コミュニティでのコミュニケーションはメーリングリストが基本
PostgreSQL公式サイトでコミュニティアカウントを作成して、4つのMLを購読
pgsql-hackers
新機能の提案やバグ修正、開発課題などについて議論する
pgsql-bugs
ユーザからのバグ報告先。報告されたバグやその修正などについて議論する
pgsql-docs
ドキュメントやその問題、改修などについて議論する
pgsql-committers
コミットされた内容が通知される
© 2021 NTT DATA Corporation 16
16
© 2021 NTT DATA Corporation
議論を読む
藤井がv13向けに
バックアップ取得の
進捗確認機能を
提案したときのメール
© 2021 NTT DATA Corporation 17
17
© 2021 NTT DATA Corporation
議論を読むコツ
興味あるテーマ・機能・バグの議論から読む
OSS-DBの資格取得などを通じて
PostgreSQLの体系的な事前知識を得ておく
英語の長い議論を手軽に読みたいときは、翻訳サイトなども活用
例えば、Shaperで英文を整形して、DeepLで日本語翻訳
https://dream-exp.net/shaper/
https://www.deepl.com/translator
© 2021 NTT DATA Corporation 18
18
© 2021 NTT DATA Corporation
議論で返信する
引用
返信
引用
返信
宛先にMLを含める
内容は公開されることに注意
bottom-posting
返信したい対象の文章を引用して、
その下に返信を記載する
行動規範に則った発言
https://www.postgresql.org/about/
policies/coc/ja/
© 2021 NTT DATA Corporation 19
19
© 2021 NTT DATA Corporation
議論で返信するコツ
翻訳サイトなどを活用して、英文を作成
例えば、日本語で文章を作成して、DeepLで英語翻訳、Grammarlyで添削
https://www.deepl.com/translator
https://www.grammarly.com/
文を無理に長くしない、箇条書きにする、例を出して説明する
他の人のメールやPostgreSQLドキュメント、ソースコメントの
英文を参考にする
© 2021 NTT DATA Corporation 20
レビューに参加しよう!
© 2021 NTT DATA Corporation 21
21
© 2021 NTT DATA Corporation
2020年度 2021年度
6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11
PostgreSQL開発のサイクル
CF CF CF CF CF
v14開発
v13開発
v15開発
CF CF
Beta / RC
Beta / RC
Feature
Freeze リリース
リリース
コミュニティサポート
CommitFest
パッチレビューに
集中する期間 CF
© 2021 NTT DATA Corporation 22
22
© 2021 NTT DATA Corporation
CommitFest
CommitFest Appでレビュー対象のパッチを一覧管理
https://commitfest.postgresql.org/
© 2021 NTT DATA Corporation 23
23
© 2021 NTT DATA Corporation
CommitFestのワークフロー
Needs review
レビュー待ち
Waiting on Author
開発者の対応待ち
Ready for
Committer
コミッタの判断待ち
Committed
コミット成功!
Moved to next CF
次回CFでレビュー継続
Returned with
Feedback
今回CFで十分にレビュー済
Rejected
提案却下
Withdrawn
提案撤回
パッチ修正 レビュー
パッチ提案
レビュー完了
差し戻し
コミット
パッチレビュー中 パッチクローズ
提案撤回
提案却下
レビュー十分
CF終了
パッチ作者 レビュア コミッタ
© 2021 NTT DATA Corporation 24
24
© 2021 NTT DATA Corporation
レビューするパッチを決める
興味ある機能や分野のパッチ
レビューしやすいパッチ
ドキュメントやテストケースのパッチ
独立した機能などで影響範囲の小さいパッチ
(クライアントツール、contribモジュール、SQL関数など)
サイズの小さいパッチ
仕様やI/Fなどの内容がコミュニティで合意済のパッチ
メインのレビュアがいるパッチ
メインのレビュアによるレビュー内容を勉強しながら、サブのレビュアとして取り組む
© 2021 NTT DATA Corporation 25
25
© 2021 NTT DATA Corporation
レビュアとして登録する
CommitFest App
「Become reviewer」を押して、
レビュアとして登録
CF App 内の各パッチのページ
© 2021 NTT DATA Corporation 26
26
© 2021 NTT DATA Corporation
パッチを入手する
~
パッチをダウンロード
CF App 内の各パッチのページ ML上でパッチについて議論しているメール
© 2021 NTT DATA Corporation 27
27
© 2021 NTT DATA Corporation
パッチをレビューする
提案レビュー
パッチは適用できるか?ドキュメントやテストを含んでいるか?
仕様レビュー
パッチは本当に必要か?仕様はコミュニティで合意されているか?
機能テスト
仕様通りに動作するか?クラッシュや想定外のエラーはないか?
性能試験
パッチにより性能劣化しないか?
コーディング・レビュー
Windowsでも動作するか?コーディング規約に従っているか?
アーキテクチャ・レビュー
他機能と一貫性のあるアーキテクチャか?
https://wiki.postgresql.org/wiki/Reviewing_a_Patch/ja
レビューコメントとして
MLで返信する
© 2021 NTT DATA Corporation 28
28
© 2021 NTT DATA Corporation
① ソースの入手、コンパイルに必要なライブラリをインストールする
$ sudo dnf install git gcc make bison flex readline readline-devel zlib-devel
② TAPテスト(*)に必要なライブラリをインストールする
$ sudo dnf install perl-CPAN
$ sudo cpan -i IPC::Run Test::Simple Time::HiRes Test::Harness
③ ドキュメントのコンパイルに必要なライブラリをインストールする
$ sudo dnf install docbook-dtds docbook-style-xsl libxslt
パッチを適用、コンパイル、テストする
環境によって必要なライブラリやインストールのコマンドが異なることに注意!
上記はRHEL8系環境での実行例
(*) PostgreSQLのクライアントツールなどを対象とする追加テスト
© 2021 NTT DATA Corporation 29
29
© 2021 NTT DATA Corporation
④ PostgreSQLのgitレポジトリをクローンする
$ git clone git://git.postgresql.org/git/postgresql.git
⑤ パッチ適用先ブランチをチェックアウトする
$ cd postgresql
$ git checkout master
⑥ パッチ用の新規ブランチを作成する
$ git checkout -b xxx
$ git branch
master
* xxx
パッチを適用、コンパイル、テストする
基本的に「開発中の最新メジャーバージョン」の
masterブランチがパッチ適用先
手元環境だと
クローンにかかった時間は約15分
レビュー完了後などに
パッチ適用を手軽にクリアできるように、
パッチ用のブランチを作成するのがおススメ!
© 2021 NTT DATA Corporation 30
30
© 2021 NTT DATA Corporation
⑦ パッチを適用する
$ patch -p1 -d. < $HOME/xxx.patch
⑧ PostgreSQLをコンパイルする
$ ./configure --enable-debug --enable-cassert --enable-tap-tests 
--prefix=$HOME/pgsql/xxx CFLAGS=-O0
$ make -j 4
$ make install
パッチを適用、コンパイル、テストする
デバッグしやすいようにオプションを指定する
--enable-debug
--enable-cassert
--enable-tap-tests
CFLAGS=-O0
インストール先のディレクトリを指定する
--prefix
時間短縮のため複数多重でコンパイルするように
-jオプションを指定するのがおススメ!
パッチ適用やコンパイルで発生したエラー・警告は、レビューコメントとしてMLで報告する
© 2021 NTT DATA Corporation 31
31
© 2021 NTT DATA Corporation
⑨ contribモジュールをコンパイルする
$ cd contrib
$ make
$ make install
$ cd ..
⑩ ドキュメントをコンパイルする
$ make html
⑪ リグレッションテストを実行する
$ make -j 4 check-world
パッチを適用、コンパイル、テストする
コンパイルやテストで発生したエラー・警告は、レビューコメントとしてMLで報告する
CF登録のパッチは自動的にテストが走り、
その結果をPatch Testerから確認できる
http://cfbot.cputube.org/
時間短縮のため複数多重でコンパイルするように
-jオプションを指定するのがおススメ!
© 2021 NTT DATA Corporation 32
32
© 2021 NTT DATA Corporation
⑫ PostgreSQLを起動する
$ cd $HOME/pgsql/xxx
$ bin/initdb -D data --locale=C --encoding=UTF8
$ bin/pg_ctl -D data start
⑬ パッチの新機能をテストする
$ bin/psql
...
⑭ PostgreSQLを停止する
$ bin/pg_ctl -D data stop
パッチを適用、コンパイル、テストする
思いつく限りの新機能の使い方を試してみる!例えば、
入力のバリエーション (境界値、大規模データ、不正値など)
大量実行、複数多重同時実行
物理/論理レプリケーション環境での動作
起動・停止やテストで発生したエラー・想定外動作は、レビューコメントとしてMLで報告する
© 2021 NTT DATA Corporation 33
33
© 2021 NTT DATA Corporation
パッチをコーディング・レビューする
コーディング規約やエラーメッセージのスタイルガイドに従っているか?
https://www.postgresql.jp/document/current/html/source.html
コメントやドキュメントに内容誤り(古い内容のまま)やTypoはないか?
関数名、変数名、マクロ名、ファイル名などの命名が分かりやすく適切か?
初期化忘れ、クローズ・解放忘れ、戻り値のチェック忘れなどのバグはないか?
セグメンテーションフォルトやアサーションエラーを引き起こすコードパスはないか?
無駄、非効率、(必要以上に)複雑すぎる、理解しにくいコードはないか?
例えば、以下の観点でコード上気になる点をレビューコメントとしてMLで報告する
© 2021 NTT DATA Corporation 34
34
© 2021 NTT DATA Corporation
レビューコメントを返信する
レビューコメントの返信メールの例 (抜粋)
変数の初期値の誤りや
初期化忘れを指摘
カラム名の命名が
適切でないことの指摘
© 2021 NTT DATA Corporation 35
35
© 2021 NTT DATA Corporation
パッチのステータスを変更する
「Change Status」を押して、
パッチのステータスを変更
© 2021 NTT DATA Corporation 36
36
© 2021 NTT DATA Corporation
CommitFestのワークフロー
Needs review
レビュー待ち
Waiting on Author
開発者の対応待ち
Ready for
Committer
コミッタの判断待ち
Committed
コミット成功!
Moved to next CF
次回CFでレビュー継続
Returned with
Feedback
今回CFで十分にレビュー済
Rejected
提案却下
Withdrawn
提案撤回
パッチ修正 レビュー
パッチ提案
レビュー完了
差し戻し
コミット
パッチレビュー中 パッチクローズ
提案撤回
提案却下
レビュー十分
CF終了
パッチ作者 レビュア コミッタ
© 2021 NTT DATA Corporation 37
37
© 2021 NTT DATA Corporation
パッチのコミットを確認する
コミットログの例
レビューしたパッチがコミットされると、
レビュアとして名前がコミットログに
記録される!
© 2021 NTT DATA Corporation 38
さいごに
© 2021 NTT DATA Corporation 39
39
© 2021 NTT DATA Corporation
困ったときは日本のコミュニティで相談も
例えば、ほぼ月1ペースで開催のアンカンファレンスで開発者に直接話を聞くなど
© 2021 NTT DATA Corporation 40
その他、記載されている会社名、商品名、又はサービス名は、
各社の登録商標又は商標です。

Mais conteúdo relacionado

Mais procurados

PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...NTT DATA Technology & Innovation
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)NTT DATA Technology & Innovation
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説Masahiko Sawada
 
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)NTT DATA Technology & Innovation
 
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...NTT DATA Technology & Innovation
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...NTT DATA Technology & Innovation
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Masahiko Sawada
 

Mais procurados (20)

PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
 
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会
 

Semelhante a PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...NTT DATA Technology & Innovation
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナーKazuko Itoda
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC EnterpriseYusukeKuramata
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...Insight Technology, Inc.
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦Insight Technology, Inc.
 
Microsoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community UpdateMicrosoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community UpdateHirono Jumpei
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)NTT DATA Technology & Innovation
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...NTT DATA Technology & Innovation
 
OpenStack Congress Deep Dive
OpenStack Congress Deep DiveOpenStack Congress Deep Dive
OpenStack Congress Deep Divemasahito12
 
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...Insight Technology, Inc.
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4Microsoft
 
Jenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdiJenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdi昌桓 李
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...NTT DATA Technology & Innovation
 

Semelhante a PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料) (20)

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
 
20130203 oss-db-lpi
20130203 oss-db-lpi20130203 oss-db-lpi
20130203 oss-db-lpi
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
 
Microsoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community UpdateMicrosoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community Update
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
OpenStack Congress Deep Dive
OpenStack Congress Deep DiveOpenStack Congress Deep Dive
OpenStack Congress Deep Dive
 
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4
 
Jenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdiJenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdi
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 

Mais de NTT DATA Technology & Innovation

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)NTT DATA Technology & Innovation
 

Mais de NTT DATA Technology & Innovation (20)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
 

PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)

  • 1. © 2021 NTT DATA Corporation 1 © 2021 NTT DATA Corporation PostgreSQL開発コミュニティに参加しよう! 2021年11月12日 株式会社NTTデータ 藤井 雅雄 PostgreSQL Conference Japan 2021
  • 2. © 2021 NTT DATA Corporation 2 2 © 2021 NTT DATA Corporation 自己紹介 藤井 雅雄 Database Technical Lead @ NTTデータ データベース研究開発 PostgreSQL 技術支援 PostgreSQLコミッタ レプリケーション WAL圧縮 バックアップ進捗確認 pg_bigm(全文検索モジュール) コミッタ fujii_masao MasaoFujii
  • 3. © 2021 NTT DATA Corporation 3 PostgreSQL開発コミュニティに参加しよう!
  • 4. © 2021 NTT DATA Corporation 4 4 © 2021 NTT DATA Corporation PostgreSQLコミュニティ (グローバル) The PostgreSQL Global Development Group PostgreSQL本体を開発しているコミュニティ Local User Groups 世界各地 (35ヶ国67地域) にあるPostgreSQLユーザグループ PUG = PostgreSQL User Group Events 世界各地でPostgreSQLに関するカンファレンスなどのイベントが開催 Slack, IRC, LinkedIn, etc 様々なチャンネルでPostgreSQLユーザが集まってコミュニケーション
  • 5. © 2021 NTT DATA Corporation 5 5 © 2021 NTT DATA Corporation PostgreSQLコミュニティ (日本) 日本PostgreSQLユーザ会 日本のPostgreSQLユーザグループ JPUG = Japan PostgreSQL User Group 支部 北海道、東北、新潟、名古屋、関西、四国、九州、沖縄 文書・書籍関連分科会 PostgreSQL関連の文書の翻訳 PostgreSQLエンタープライズ・コンソーシアム PostgreSQLの普及推進を目的とする企業コンソーシアム PGECons = PostgreSQL Enterprise Consortium
  • 6. © 2021 NTT DATA Corporation 6 6 © 2021 NTT DATA Corporation PostgreSQLコミュニティ (日本) Events 日本の様々なコミュニティ・団体・企業・個人がカンファレンスなどのイベントを開催 PostgreSQL Conference Japan PostgreSQLアンカンファレンス ...etc Slack PostgreSQLに関する日本語Slack
  • 7. © 2021 NTT DATA Corporation 7 7 © 2021 NTT DATA Corporation PostgreSQLコミュニティ (グローバル) The PostgreSQL Global Development Group PostgreSQL本体を開発しているコミュニティ Local User Groups 世界各地 (35ヶ国67地域) にあるPostgreSQLユーザグループ PUG = PostgreSQL User Group Events 世界各地でPostgreSQLに関するカンファレンスなどのイベントが開催 Slack, IRC, LinkedIn, etc 様々なチャンネルでPostgreSQLユーザが集まってコミュニケーション PostgreSQL開発コミュニティに参加しよう!
  • 8. © 2021 NTT DATA Corporation 8 8 © 2021 NTT DATA Corporation The PostgreSQL Global Development Group メーリングリスト Wiki Gitレポジトリ コアチーム コミッタ 開発、レビュー、テスト、バグ報告 コントリビュータ ユーザ
  • 9. © 2021 NTT DATA Corporation 9 9 © 2021 NTT DATA Corporation The PostgreSQL Global Development Group メーリングリスト Wiki Gitレポジトリ コアチーム コミッタ 開発、レビュー、テスト、バグ報告 コントリビュータ ユーザ 参加 選出 選出 7名 28名 v14開発では 415名
  • 10. © 2021 NTT DATA Corporation 10 10 © 2021 NTT DATA Corporation The PostgreSQL Global Development Groupに参加の企業例 1 690 Crunchy Data (4) 2 626 EnterpriseDB (6) 3 300 VMWare (3) 4 212 Microsoft (4) 5 108 NTT Data (1) 6 93 Fujitsu (1) 7 53 Unknown (3) 8 48 Postgres Professional (2) 9 31 Redpill Linpro (1) 10 8 NTT (1) 10 8 University of Cambridge (1) 12 2 SRA OSS (1) 13 1 credativ (1) ※2020年のコミッタ別のコミット数について、 2020年末時点のコミッタの所属企業ごとに集計 ※()内の数字は、各企業の所属コミッタ数 2020年の(コミッタ所属の)会社別のコミット数 第20回PostgreSQLアンカンファレンス 資料からの抜粋
  • 11. © 2021 NTT DATA Corporation 11 11 © 2021 NTT DATA Corporation モチベーション PostgreSQL開発コミュニティになぜ参加したいか? 技術者にとってのモチベーションの例としては、 ① PostgreSQLの内部や設計思想、仕様、制約などを深く理解できる。 PostgreSQLを効果的に利用できるようになる ② 世界中の様々な技術者たちの考えに触れることで、 技術者としての見識が大きく広がる。様々な技術者とのパイプができる ③ パッチの作成やレビューを通じて、コーディングスキルが向上する ④ 新機能開発やバグ修正の成果に対して世界中から感謝される。 自身の成果として名前が残り、セルフブランディングになる
  • 12. © 2021 NTT DATA Corporation 12 12 © 2021 NTT DATA Corporation モチベーション PostgreSQL開発コミュニティになぜ参加したいか? 事業者にとってのモチベーションの例としては、 ① データベース技術の最新動向について早期に情報を入手でき、 事業に活かすことで、その事業領域でのプレゼンスを獲得できる ② 世界中の様々な企業・技術者とパイプができ、 他社とのアライアンスなどの機会につながる可能性がある ③ 事業で必要な機能やバグ修正をPostgreSQLに取り込める。 事業者の技術力アピールやブランド力を向上できる
  • 13. © 2021 NTT DATA Corporation 13 13 © 2021 NTT DATA Corporation PostgreSQL開発のフロー 提案・バグ報告 議論 パッチ作成 レビュー コミット 新機能の提案やバグの報告を行う 新機能の必要性やユーザI/F、アーキテクチャ、 実現方法、バグ原因、修正方法などを議論する 議論結果を踏まえて、新機能やバグ修正を コーディングして、パッチを作成・投稿する パッチをレビューして、不備を改修する コミッタがパッチをPostgreSQL本体に取り込む 繰 り 返 し
  • 14. © 2021 NTT DATA Corporation 14 議論に参加しよう!
  • 15. © 2021 NTT DATA Corporation 15 15 © 2021 NTT DATA Corporation メーリングリストの購読 PostgreSQL開発コミュニティでのコミュニケーションはメーリングリストが基本 PostgreSQL公式サイトでコミュニティアカウントを作成して、4つのMLを購読 pgsql-hackers 新機能の提案やバグ修正、開発課題などについて議論する pgsql-bugs ユーザからのバグ報告先。報告されたバグやその修正などについて議論する pgsql-docs ドキュメントやその問題、改修などについて議論する pgsql-committers コミットされた内容が通知される
  • 16. © 2021 NTT DATA Corporation 16 16 © 2021 NTT DATA Corporation 議論を読む 藤井がv13向けに バックアップ取得の 進捗確認機能を 提案したときのメール
  • 17. © 2021 NTT DATA Corporation 17 17 © 2021 NTT DATA Corporation 議論を読むコツ 興味あるテーマ・機能・バグの議論から読む OSS-DBの資格取得などを通じて PostgreSQLの体系的な事前知識を得ておく 英語の長い議論を手軽に読みたいときは、翻訳サイトなども活用 例えば、Shaperで英文を整形して、DeepLで日本語翻訳 https://dream-exp.net/shaper/ https://www.deepl.com/translator
  • 18. © 2021 NTT DATA Corporation 18 18 © 2021 NTT DATA Corporation 議論で返信する 引用 返信 引用 返信 宛先にMLを含める 内容は公開されることに注意 bottom-posting 返信したい対象の文章を引用して、 その下に返信を記載する 行動規範に則った発言 https://www.postgresql.org/about/ policies/coc/ja/
  • 19. © 2021 NTT DATA Corporation 19 19 © 2021 NTT DATA Corporation 議論で返信するコツ 翻訳サイトなどを活用して、英文を作成 例えば、日本語で文章を作成して、DeepLで英語翻訳、Grammarlyで添削 https://www.deepl.com/translator https://www.grammarly.com/ 文を無理に長くしない、箇条書きにする、例を出して説明する 他の人のメールやPostgreSQLドキュメント、ソースコメントの 英文を参考にする
  • 20. © 2021 NTT DATA Corporation 20 レビューに参加しよう!
  • 21. © 2021 NTT DATA Corporation 21 21 © 2021 NTT DATA Corporation 2020年度 2021年度 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 PostgreSQL開発のサイクル CF CF CF CF CF v14開発 v13開発 v15開発 CF CF Beta / RC Beta / RC Feature Freeze リリース リリース コミュニティサポート CommitFest パッチレビューに 集中する期間 CF
  • 22. © 2021 NTT DATA Corporation 22 22 © 2021 NTT DATA Corporation CommitFest CommitFest Appでレビュー対象のパッチを一覧管理 https://commitfest.postgresql.org/
  • 23. © 2021 NTT DATA Corporation 23 23 © 2021 NTT DATA Corporation CommitFestのワークフロー Needs review レビュー待ち Waiting on Author 開発者の対応待ち Ready for Committer コミッタの判断待ち Committed コミット成功! Moved to next CF 次回CFでレビュー継続 Returned with Feedback 今回CFで十分にレビュー済 Rejected 提案却下 Withdrawn 提案撤回 パッチ修正 レビュー パッチ提案 レビュー完了 差し戻し コミット パッチレビュー中 パッチクローズ 提案撤回 提案却下 レビュー十分 CF終了 パッチ作者 レビュア コミッタ
  • 24. © 2021 NTT DATA Corporation 24 24 © 2021 NTT DATA Corporation レビューするパッチを決める 興味ある機能や分野のパッチ レビューしやすいパッチ ドキュメントやテストケースのパッチ 独立した機能などで影響範囲の小さいパッチ (クライアントツール、contribモジュール、SQL関数など) サイズの小さいパッチ 仕様やI/Fなどの内容がコミュニティで合意済のパッチ メインのレビュアがいるパッチ メインのレビュアによるレビュー内容を勉強しながら、サブのレビュアとして取り組む
  • 25. © 2021 NTT DATA Corporation 25 25 © 2021 NTT DATA Corporation レビュアとして登録する CommitFest App 「Become reviewer」を押して、 レビュアとして登録 CF App 内の各パッチのページ
  • 26. © 2021 NTT DATA Corporation 26 26 © 2021 NTT DATA Corporation パッチを入手する ~ パッチをダウンロード CF App 内の各パッチのページ ML上でパッチについて議論しているメール
  • 27. © 2021 NTT DATA Corporation 27 27 © 2021 NTT DATA Corporation パッチをレビューする 提案レビュー パッチは適用できるか?ドキュメントやテストを含んでいるか? 仕様レビュー パッチは本当に必要か?仕様はコミュニティで合意されているか? 機能テスト 仕様通りに動作するか?クラッシュや想定外のエラーはないか? 性能試験 パッチにより性能劣化しないか? コーディング・レビュー Windowsでも動作するか?コーディング規約に従っているか? アーキテクチャ・レビュー 他機能と一貫性のあるアーキテクチャか? https://wiki.postgresql.org/wiki/Reviewing_a_Patch/ja レビューコメントとして MLで返信する
  • 28. © 2021 NTT DATA Corporation 28 28 © 2021 NTT DATA Corporation ① ソースの入手、コンパイルに必要なライブラリをインストールする $ sudo dnf install git gcc make bison flex readline readline-devel zlib-devel ② TAPテスト(*)に必要なライブラリをインストールする $ sudo dnf install perl-CPAN $ sudo cpan -i IPC::Run Test::Simple Time::HiRes Test::Harness ③ ドキュメントのコンパイルに必要なライブラリをインストールする $ sudo dnf install docbook-dtds docbook-style-xsl libxslt パッチを適用、コンパイル、テストする 環境によって必要なライブラリやインストールのコマンドが異なることに注意! 上記はRHEL8系環境での実行例 (*) PostgreSQLのクライアントツールなどを対象とする追加テスト
  • 29. © 2021 NTT DATA Corporation 29 29 © 2021 NTT DATA Corporation ④ PostgreSQLのgitレポジトリをクローンする $ git clone git://git.postgresql.org/git/postgresql.git ⑤ パッチ適用先ブランチをチェックアウトする $ cd postgresql $ git checkout master ⑥ パッチ用の新規ブランチを作成する $ git checkout -b xxx $ git branch master * xxx パッチを適用、コンパイル、テストする 基本的に「開発中の最新メジャーバージョン」の masterブランチがパッチ適用先 手元環境だと クローンにかかった時間は約15分 レビュー完了後などに パッチ適用を手軽にクリアできるように、 パッチ用のブランチを作成するのがおススメ!
  • 30. © 2021 NTT DATA Corporation 30 30 © 2021 NTT DATA Corporation ⑦ パッチを適用する $ patch -p1 -d. < $HOME/xxx.patch ⑧ PostgreSQLをコンパイルする $ ./configure --enable-debug --enable-cassert --enable-tap-tests --prefix=$HOME/pgsql/xxx CFLAGS=-O0 $ make -j 4 $ make install パッチを適用、コンパイル、テストする デバッグしやすいようにオプションを指定する --enable-debug --enable-cassert --enable-tap-tests CFLAGS=-O0 インストール先のディレクトリを指定する --prefix 時間短縮のため複数多重でコンパイルするように -jオプションを指定するのがおススメ! パッチ適用やコンパイルで発生したエラー・警告は、レビューコメントとしてMLで報告する
  • 31. © 2021 NTT DATA Corporation 31 31 © 2021 NTT DATA Corporation ⑨ contribモジュールをコンパイルする $ cd contrib $ make $ make install $ cd .. ⑩ ドキュメントをコンパイルする $ make html ⑪ リグレッションテストを実行する $ make -j 4 check-world パッチを適用、コンパイル、テストする コンパイルやテストで発生したエラー・警告は、レビューコメントとしてMLで報告する CF登録のパッチは自動的にテストが走り、 その結果をPatch Testerから確認できる http://cfbot.cputube.org/ 時間短縮のため複数多重でコンパイルするように -jオプションを指定するのがおススメ!
  • 32. © 2021 NTT DATA Corporation 32 32 © 2021 NTT DATA Corporation ⑫ PostgreSQLを起動する $ cd $HOME/pgsql/xxx $ bin/initdb -D data --locale=C --encoding=UTF8 $ bin/pg_ctl -D data start ⑬ パッチの新機能をテストする $ bin/psql ... ⑭ PostgreSQLを停止する $ bin/pg_ctl -D data stop パッチを適用、コンパイル、テストする 思いつく限りの新機能の使い方を試してみる!例えば、 入力のバリエーション (境界値、大規模データ、不正値など) 大量実行、複数多重同時実行 物理/論理レプリケーション環境での動作 起動・停止やテストで発生したエラー・想定外動作は、レビューコメントとしてMLで報告する
  • 33. © 2021 NTT DATA Corporation 33 33 © 2021 NTT DATA Corporation パッチをコーディング・レビューする コーディング規約やエラーメッセージのスタイルガイドに従っているか? https://www.postgresql.jp/document/current/html/source.html コメントやドキュメントに内容誤り(古い内容のまま)やTypoはないか? 関数名、変数名、マクロ名、ファイル名などの命名が分かりやすく適切か? 初期化忘れ、クローズ・解放忘れ、戻り値のチェック忘れなどのバグはないか? セグメンテーションフォルトやアサーションエラーを引き起こすコードパスはないか? 無駄、非効率、(必要以上に)複雑すぎる、理解しにくいコードはないか? 例えば、以下の観点でコード上気になる点をレビューコメントとしてMLで報告する
  • 34. © 2021 NTT DATA Corporation 34 34 © 2021 NTT DATA Corporation レビューコメントを返信する レビューコメントの返信メールの例 (抜粋) 変数の初期値の誤りや 初期化忘れを指摘 カラム名の命名が 適切でないことの指摘
  • 35. © 2021 NTT DATA Corporation 35 35 © 2021 NTT DATA Corporation パッチのステータスを変更する 「Change Status」を押して、 パッチのステータスを変更
  • 36. © 2021 NTT DATA Corporation 36 36 © 2021 NTT DATA Corporation CommitFestのワークフロー Needs review レビュー待ち Waiting on Author 開発者の対応待ち Ready for Committer コミッタの判断待ち Committed コミット成功! Moved to next CF 次回CFでレビュー継続 Returned with Feedback 今回CFで十分にレビュー済 Rejected 提案却下 Withdrawn 提案撤回 パッチ修正 レビュー パッチ提案 レビュー完了 差し戻し コミット パッチレビュー中 パッチクローズ 提案撤回 提案却下 レビュー十分 CF終了 パッチ作者 レビュア コミッタ
  • 37. © 2021 NTT DATA Corporation 37 37 © 2021 NTT DATA Corporation パッチのコミットを確認する コミットログの例 レビューしたパッチがコミットされると、 レビュアとして名前がコミットログに 記録される!
  • 38. © 2021 NTT DATA Corporation 38 さいごに
  • 39. © 2021 NTT DATA Corporation 39 39 © 2021 NTT DATA Corporation 困ったときは日本のコミュニティで相談も 例えば、ほぼ月1ペースで開催のアンカンファレンスで開発者に直接話を聞くなど
  • 40. © 2021 NTT DATA Corporation 40 その他、記載されている会社名、商品名、又はサービス名は、 各社の登録商標又は商標です。