タグ

PostgreSQLに関するrabbit2goのブックマーク (5)

  • PostgreSQLのPub/Sub機能とJavaのクライアント実装 - Qiita

    フューチャー Advent Calendar 2019 18日目の記事です。 Pub/Sub型のメッセージングアーキテクチャを採用するにあたっては、kafkaなどのブローカーミドルウェアや、Amazon SNSGoogle Cloud Pub/Subなどのマネージドサービスを利用するケースが多いかと思います。ところでPostgreSQLでも実はPub/Subができます。 すでに業務でPostgreSQLを使っていれば、新たにPub/Subブローカーを構築しなくても、疎結合なシステム間通信を簡易的に実現できます。 記事ではこの機能の紹介と、Pub/SubクライアントをJavaで実装する場合の選択肢、考慮点を示しています。 ※実行環境はPostgreSQL 16.2とJava 21です ※データベースの文字コードはUTF-8としています NOTIFY/LISTEN PostgreSQLのP

    PostgreSQLのPub/Sub機能とJavaのクライアント実装 - Qiita
  • PostgreSQLでPub/Subによる外部プログラム実行|kasanka

    PostgreSQLで、レコード追加時にそのデータを外部プログラムに渡しつつプログラムを実行したい。 二つの方法の検証をしたのでメモ。結論を言うと、二つ目の方法の、Pub/Subパターン(NOTIFY/LISTEN)を利用したプログラム実行が良いと思う。 COPYコマンドをトリガーで利用このブログで紹介されていたので検証してみた。 ●方法 概要としては、レコード追加時、プログラムを直接PostgreSQLに実行してもらう(正確には、PostgreSQLのユーザーに実行してもらう)。 手順は下記。 1.PostgreSQLで関数(function)を作成 2.functionをトリガーに設定 なおfunction作成の際に、プログラム実行にCOPYコマンドを利用する(下記説明)。 COPYコマンドのPROGRAMパラメータを利用するとコマンド実行が出来ます。 来は返り値をテーブルにコピーす

    PostgreSQLでPub/Subによる外部プログラム実行|kasanka
  • サンプルプログラム

  • しゅとろ〜む、しゅとろ〜む - KaiGaiの俺メモ

    昨年、オタワでTim Child氏の発表を聞いて以来、実装できないものかと思って暖めていたアイデアがある。GPUの処理能力を使って、PostgreSQLの検索処理を高速化できないか?というものである。 特に複雑な計算を含むクエリの場合、Index-Scanに落ちないで、全件スキャンが走ることが往々にしてあるが、こういったケースで有効に作用するのではなかろうか?という着想である。 クリスマス休暇の間、割とまとまった開発時間を取る事ができたので、PostgreSQLのFDW(Foreign Data Wrapper)として動作するモジュールを作成してみた。 モジュールの名前は PG-Strom で、ドイツ風に『しゅとろ〜む』と発音する。 これは GPU の処理単位である Streaming Multiprocessor に由来する。 もちろん、現状のFDWのI/F前提なので、更新は不可能でソー

    しゅとろ〜む、しゅとろ〜む - KaiGaiの俺メモ
  • MySQL/PostgreSQLでのシリアル値まとめ

    adiaryではすべてのテーブルに pkey というシリアル値(PRIMARY KEY)を設定しています。その扱いについて。 特にMySQLで特別な加工をせず、安全にシリアル値を取得する方法。 PostgreSQLの場合 PostgreSQLではそのままserial型というものがあり、 CREATE TABLE test(pkey SERIAL PRIMARY KEY, x INT); INSERT INTO test(x) VALUES(10); とすることで、pkeyをプライマリキーとして自動的に生成することができます。 PostgreSQLではシーケンス操作関数というものがあり、SERIAL型を定義すると自動的に作成されます。 例えば、現在の値を取得したければ SELECT currval(pg_catalog.pg_get_serial_sequence('test', 'pkey

    MySQL/PostgreSQLでのシリアル値まとめ
  • 1