Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
第46回 PostgreSQLアンカンファレンス@東京 Yasuo Honda @yahonda pg_stat_statementsで inの数が違うSQLをまとめて ほしい
Slide 2
Slide 2 text
● Yasuo Honda @yahonda ○ Rails committer ○ 第36回,39回 PostgreSQLアンカンファレンス から3回目の参加 ■ 第36回 PostgreSQLアンカンファレンス@オンライン ■ 第39回 PostgreSQLアンカンファレンス@オンライン - connpass ● 遅延可能な制約はRails 7.1からmigrationで作成可能になりました 自己紹介
Slide 3
Slide 3 text
● IN句の数が違うだけのSQLが異なるSQLとして`pg_stat_statements` に記録される ● IN を ANY に書き換えるとANY句の数が違っても単一のSQLとして `pg_stat_statements`に記録されるため、INを全てANYに置き換える pull requestがRailsに開かれる ○ https://github.com/rails/rails/pull/49388 ● 私はPostgreSQL側で解決して欲しい ○ https://github.com/rails/rails/pull/49388#issuecomment-1 752253622 背景
Slide 4
Slide 4 text
● PostgreSQL側でそれを修正するパッチがあることを知る ○ https://www.postgresql.org/message-id/flat/20230209194 329.z7ectolwilvgppcg%40erthalion.local#be2115b1ac27fedd 45783f57d4e8a6ee ● パッチがマージされるためにできることをしたい 背景
Slide 5
Slide 5 text
● PostgreSQL Conference Japan 2021でこのセッションに出ていた ○ https://www.slideshare.net/nttdata-tech/postgresql-glob al-development-group-postgresql-conference-japan-2021 -nttdata ● PostgreSQLのmasterブランチをビルドできる環境を持っていた ● うっすら覚えていたこと ○ Issue trackerはなく、メーリングリストで議論が進む ○ Commitfestという期間でパッチが集中的にレビューされる 知っていたこと
Slide 6
Slide 6 text
困ったこと
Slide 7
Slide 7 text
● pgsql-hackersメーリングリストに参加した ● 該当スレッドに返信したいが、最新は私の参加前 ○ https://www.postgresql.org/message-id/flat/CA%2Bq6zc WtUbT_Sxj0V6HY6EZ89uv5wuG5aefpe_9n0Jr3VwntFg%40 mail.gmail.com ● どうやってreplyすればいいかわからない ● postgresql-jp Slackで質問 ○ “Resend email”をおすとそのメールが再送されることを教えてもらう 過去のメーリングリストのメールにreply
Slide 8
Slide 8 text
● pgsql-hackers ● 該当トピックだけ知りたかった ● 見逃ししたくなかったので全部メールを受け取っていた ● CommitfestのHistoryからこの件だけのメールを受け取っている ○ https://commitfest.postgresql.org/47/2837 pgsql-hackersメール流量が多い
Slide 9
Slide 9 text
● C言語、PostgreSQLのコードベースに知見がない ○ Ruby on Railsからの利用者としてのユースケースしかない ● postgresql-jp Slackで質問 ○ ユースケースを言うだけでも意味があると教えてもらう ● 投稿するが、”Moved to next CF”となる ○ https://www.postgresql.org/message-id/CAKmOUTmDJ_p 9PrEX5vfnS-fz-n8tdYQ6xcApeVrBt5yPkzxgqQ%40mail.gma il.com ○ https://commitfest.postgresql.org/34/2837/ PostgreSQLのコードベース
Slide 10
Slide 10 text
● GitHubでのpull requestベースでの開発 ○ gh pr checkoutなどで、そのcommitがマージされたブランチが手 に入る環境に馴染みがある ● .patchファイルの当て方がよくわからない ○ これは未だに解決していません Patchを当てる方法
Slide 11
Slide 11 text
知りたいこと、したいこと
Slide 12
Slide 12 text
● Patchを当てたい ○ patchコマンドの使い方がよくわからない ● PostgreSQL本体にマージされるためにできることをしたい 知りたいこと・したい事
Slide 13
Slide 13 text
おわり
Slide 14
Slide 14 text
フォローアップ
Slide 15
Slide 15 text
● .patchファイルは`git am`で当てられる ● Commitfest対象のパッチが最新のmasterブランチとのコンフリクト状 況は”PostgreSQL Patch Tester”でわかる ○ http://cfbot.cputube.org ○ リサイクルのようなアイコンはコンフリクトしている ○ http://cfbot.cputube.org/patch_47_2837.log 教えてもらったこと
Slide 16
Slide 16 text
● コンフリクトが続くとCommitfestから除外される可能性もあるので、コン フリクトしていることをpgsql-hackersで伝えるのもいい ● コンフリクトしないcommit hashを教えてもらってローカルでテストし(私 の観点だと)動作が期待するものではなかったことを返信 ○ https://www.postgresql.org/message-id/CAKmOUTn74jTQ Ak0u2FUMsGjgrNugLOwkyic2MPkbOJtcQrufeA%40mail.gm ail.com 教えてもらったこと