タグ

2018年1月30日のブックマーク (2件)

  • PostgreSQLのSKIP LOCKEDを使ってテーブルをキューとして使用する - Enjoy*Study

    SKIP LOCKED SKIP LOCKED は PostgreSQL 9.5 から入った新機能です。 What’s new in PostgreSQL 9.5 - PostgreSQL wiki PostgreSQL: Documentation: 9.6: SELECT これを使うと、FOR UPDATEの際に別トランザクションによって行ロックが取得されているレコードを除外することができます。すなわち、他のトランザクションによる行ロックが解除されるのを待つ必要がなくなります。 サンプル idというカラムを持つidsというテーブルを作成し、3レコード作成しておきます。 CREATE TABLE ids AS SELECT generate_series(1, 3) AS id; testdb=> CREATE TABLE ids AS SELECT generate_series(1,

    PostgreSQLのSKIP LOCKEDを使ってテーブルをキューとして使用する - Enjoy*Study
  • PostgreSQL で簡易に MQ - 木曜不足

    「PostgreSQL で安くて早くてうまい MQ 作ってね」的ミッションがどこからともなく降ってきたので、色々調べて試してみたところ、案外よい方法が見つかったので、まとめてみた。 [4/24] 複数キューを扱う場合の方法を tableoid を利用するように更新。 [4/27] フィルタ条件を付ける場合の記法について追記(WHERE 句内の評価順の明示的指定) [4/30] 優先順位に ORDER BY は利用できない旨追記 鍵は advisory lock。PostgreSQL 8.2 以降の機能だ。 メッセージキューと言っても、安くて早いわけだからもちろんフルフルの高機能なわけなく、いろいろ制限がある。 receiver は複数可。メッセージは receiver の一つが受信する。ブロードキャスト/マルチキャストは対象外。 ack あり。ack せずに receiver が落ちた場合

    PostgreSQL で簡易に MQ - 木曜不足
    Akaza
    Akaza 2018/01/30