2015年11月28日

「PostgreSQLセキュリティ総復習」のスライドを公開しました

昨日開催されたPostgreSQLカンファレンス2015でのセッション「PostgreSQLセキュリティ総復習」のスライドを公開しました。


目次は以下のような感じです。

2015年11月15日

自動要約API「summpy」を使ってPostgreSQLに文章の要約機能を追加する

昨日、PostgreSQL勉強会で「PostgreSQLハッキング 最初の一歩」と題して、PostgreSQLの拡張開発の初歩についていくつかお話させていただきました。 本エントリでは、勉強会でPL/Pythonの例としてご紹介した「自動要約APIをPostgreSQLに組み込む」について、もう詳しく紹介させていただこうと思います。

(右のサムネイルの意味は本エントリの最後に分かります)

■「自動要約API」とは?


自動要約APIは、10月末にリクルートテクノロジーズさんがリリースされた自然言語処理のライブラリで、Pythonで書かれたものです。 アルゴリズムについてはあまり詳しくは理解していないのですが、LexRankと呼ばれるアルゴリズムとMCP(Maximum Coverage Problem)と呼ばれるアルゴリズムが実装されており、形態素解析で品詞を分解したものにこれらのアルゴリズムを適用することで、「文章の中で重要度の高いセンテンスを選択する」ということを実現するようです。

2015年10月13日

Postgres Advanced Security Packテクノロジープレビュー版をリリースしました

本日、「Postgres Advanced Security Pack」というパッケージのプレビュー版をリリースしましたので、ご紹介させていただきます。

■「Postgres Advanced Security Pack」とは何か?


「Posetgres Advanced Security Pack」は、オープンソースで公開されている PostgreSQL のセキュリティ関連の拡張を複数まとめてビルド、RPMパッケージにしたものです。

PostgreSQLの拡張モジュールは、別々の開発者によって個別に開発・配布されているため、自分自身の環境で導入しようとすると手間がかかったり、あるいは単に知られていなかったりしますが、それらの問題を解決して、より簡単に導入できるようにすることを目的としてパッケージ化したものです。

このパッケージを使うことによって、PostgreSQLデータベースにセキュリティ関連の拡張を簡単に追加することができます。

現在、本パッケージには以下の3つのEXTENSION(拡張)が含まれています。

2015年10月4日

Cognos InsightからPostgreSQLのデータを利用する

最近、デスクトップBIツールである「Cognos Insight」を入手して使い始めたのですが、Cognos InsightのStandard EditionではデータソースにODBC接続を利用することができます。 自分の備忘も兼ねて、Cognos InsightでPostgreSQLにODBC接続してデータをインポートする方法を紹介しておきたいと思います。

なお、今回利用しているソフトウェアバージョンは、PostgreSQL 9.4とCognos Insight 10.2.2です。

■ODBCデータソースの準備

PostgreSQLのODBCドライバおよびデータソースの設定については、以前の記事を参照してください。 一通り確認しましたが、特に大きく手順が変わっているということはありませんでした。なお、本エントリ執筆時点でのPostgreSQLの64ビット版のODBCドライバは「psqlodbc_09_03_0300-x64-1.zip」です。

今回は、DWH系ベンチマークツールであるDBT-3のデータベースを使って、以下のデータソースをユーザDSNとして作成しています。

2015年9月23日

sql_firewall 0.8.1をリリースしました

先月リリースした sql_firewall の修正版としてバージョン0.8.1をリリースしました。

sql_firewallの詳細については、前回の記事を参考にしてください。
0.8.1における修正点は以下の通りです。
  • Fix sql_firewall.c to suppress `unused-const-variable' warning on OS X.
  • Fix sql_firewall_import_rule() to check file status before importing a rule file.
  • Fix JumbleRangeTable() to jumble query with relation name instead of oid.
  • Fix JumbleExpr() to use function name on query jumbling instead of the oid.
  • Fix README to add the Compatibility section.
  • Add COPYRIGHT and ChangeLog.
sql_firewallは、クエリの種類を「クエリID」と呼ばれるハッシュ値を使って識別しています。

以前は、クエリIDの生成がテーブルや関数の OID に依存していたので、テーブルや関数の DROP & CREATE をすると、例えそれらの名前が変わらなくてもクエリIDが変わる、という現象が発生していました。(これは sql_firewall の元となった pg_stat_statements でも同様です)

バージョン0.8.1では、この点を修正し、テーブルや関数を作り直してもクエリIDが同一に保たれるようになりました。