PostgreSQL勉強会に行ってきました

昨日は、PostgreSQL勉強会@札幌に行ってきました。

1. 削除フラグ(syachiさん)

削除フラグと仲良くするために、

  1. テーブル作成時に部分インデックスを張る
  2. PKEYを別の用途に使って、親から子に伝搬する
  3. トリガーを使ってDELETE実行時に、
    削除したレコードを違うテーブルに移動する(削除フラグどこいった?)

トリガーも最小限にしましょう。

遅れてくる刺客

  • 一時保存フラグ
  • 一時停止フラグ

これフラグじゃなくて、ステータスでしょ。
業務分析をちゃんとやりましょう。

2. XIDを周回させてみよう(iakioさん)

XID(トランザクションID)の周回とは、

  • あるはずのデータが見えなくなってしまうという、
    XIDの周回問題と呼ばれる現象があるらしい
  • でも、滅多にお目にかかれない
  • 古いバージョンで20億回トランザクションを行うと見れたらしい

しかし、XIDの周回を防止する仕組みは、いくつか実装されている

XIDが周回させるデモンストレーション

  • あるはずのレコードが見えなくなった!
  • PostgreSQLが壊れた!

「定量的なバキューム操作」に目を通すといいよ!

感想

まずは、おつかれさまでした。
数年前にSQLを書いて以来、
DBはblogの設置程度にしか触っていなかったので、
こういう機会でもないと学べないと思い、参加しました。
特にPostgreSQLについては、ほとんど知らなかったのですが、
削除フラグとかトリガーのようなノウハウや、
XIDを周回させるようなプログラム内部の話が聞けて、
とってもカジュアルな勉強会だったと思います。
マイグレーションやpgTAPなどいろいろ気になったので、
次回もぜひ参加したいと思いました。
こういう機会を設けていただき、ありがとうございました!

おしまい。

Leave a Comment