JPUG 2016 夏セミナー(2016-06-18)
- nuko_yokohama
- 1974
- 2
- 1
- 16
PostgreSQL 9.6 新機能紹介
9.6 beta2は9.6 beta2, 9.6 filnalは12月!? #jpug 今日の話はbeta1の話。一ヶ月の間にちょこちょこ仕様も変わってる。
2016-06-18 13:35:22並列数は原則的にはブロック数。1000ブロックがパラレル処理の閾値。以降、3倍ごとに並列数最大値が決まる。 #jpug
2016-06-18 13:42:39(だから、今朝やってたように、1000ブロックをちょい超えたくらいだと、cost判断によってパラレルクエリにならないケースもあるのか) #jpug
2016-06-18 13:43:46テーブルのオプションに設定したparalell_degreeはテーブルサイズによらず並列数を指定できる。 あああ・・・今週末のスライド、修正しなきゃ。 #jpug
2016-06-18 13:45:35パラレルクエリの制約。結構多いな。Temporary tableは対象にならないのか。 DELETE/UPDATEの検索や、IsolationがSERIALIZABLEのときなど。 idle_in_transaction_session_timeout併用(?) #jpug
2016-06-18 13:47:49なんか、篠田さんに宿題振られた気がしたw (昨晩、idle_in_transaction_timeout 調べてたので) #jpug
2016-06-18 13:48:38検証した結果、idle_in_transaction_timeoutに引っかかるということっぽい #jpug twitter.com/kasa_zip/statu…
2016-06-18 13:50:40なるほど。パラレルクエリ実行中に遊んでいるワーカーがいるとidle_in_transaction_timeoutに引っかかる可能性があるんか…
2016-06-15 22:52:14#jpug nowや、randomとかもproparallel='r'なのか。今後変わる可能性あり。 例で、WHERE句に定数を指定したときと、それをnextval()に変えた例。
2016-06-18 13:51:21#jpug ユーザ作成関数は原則、UNSAFE(デフォルト)になる。 つまり、9.6対応のためにユーザ定義関数の指定を変えなきゃいけないケースも出てくるだろう。
2016-06-18 13:52:27#jpug UnsafeなものをSafeだと設定して実行させると、実行計画までは作ってしまう。実行時にパラレルじゃ動かないエラーになる。悩ましい。
2016-06-18 13:53:56#jpug 更新文をremoteで直接動かせるのが何気に嬉しい。9.5までは、カーソルFETCH→レコード単位に更新してたのでつらぽよだった。
2016-06-18 13:57:11