2013年6月18日

CommitFestでパッチのレビューに参加してみよう

次期バージョン9.3のbetaが先日リリースされたばかりですが、PostgreSQLの最先端の開発は次々期バージョンの9.4に向かっており、その9.4の開発に向けての1回目のCommitFestが今週から始まりました。

[9.4 CF 1] Commit Fest has started
http://www.postgresql.org/message-id/51BE003A.2050600@agliodbs.com

今回は、「CommitFestとは何か」という話と、「開発プロセスに参加してみたいな」と思っている方に向けて、「CommitFestでパッチのレビューに参加してみよう」という話です。

■CommitFest(CF) とは


PostgreSQLはご存じの通りオープンソースソフトウェアですので、その開発プロセスでは、機能追加や性能改善などのディスカッションは開発者のメーリングリスト上で行われています。

PostgreSQL Mailing Lists: pgsql-hackers
http://www.postgresql.org/list/pgsql-hackers/

パッチが作成されてメーリングリスト上である程度のコンセンサスが取れると(言い換えると、強い反対が無い場合には)、そのパッチは「CommitFest(CF)」と呼ばれるプロセスに回されます。

2013年5月14日

【リリース情報】PostgreSQL 9.3のベータ1がリリースされました

昨日5月13日、PostgreSQL 9.3のベータ1がリリースされました。 主要な新機能として
  • Writeable Foreign Tables, enabling pushing data to other databases
    他のデータベースへデータを送る更新可能外部テーブル
  • pgsql_fdw driver for federation of PostgreSQL databases
    複数のPostgreSQLデータベースを連携させるpgsql_fdw
  • Automatically updatable VIEWs
    更新可能ビュー (関連記事)
  • MATERIALIZED VIEW declaration
    マテリアライズドビュー (関連記事)
  • LATERAL JOINs
    LATERAL JOIN
  • Additional JSON constructor and extractor functions
    JSONデータの作成・読み取る新規の関数
  • Indexed regular expression search
    インデックス化された正規表現での検索
  • Disk page checksums to detect filesystem failures
    ファイルシステムの障害を検出するディスクページのチェックサム
が挙げられています。

2013年5月4日

PL/pgSQLデバッガを使ってみよう

PostgreSQLのPL/pgSQLはプログラムロジックをデータベース側で実行させる非常に強力な機能です。今回は、PL/pgSQLとそのデバッガについてご紹介します。

■PostgreSQLの「PL/pgSQL」とは


PostgreSQLのPL/pgSQLは、データベース側にプログラムのロジックを埋め込むための仕組みで、通常のSQL(DDL、DML等)に制御のための構文が追加されてたような言語仕様になっています。

PL/pgSQL - SQL手続き言語
http://www.postgresql.jp/document/9.0/html/plpgsql.html

私自身、このPL/pgSQLをよく使うのですが、PL/pgSQLのひとつの難点は、ロジックが複雑になってくるとデバッグが難しい、ということでした。

そのため、伝統的なデバッグの方法、いわゆる「printfデバッグ」に頼ることになります。PL/pgSQLの場合、printfの代わりに(ログを出力する)RAISE NOTICEを使います。

エラーとメッセージ
http://www.postgresql.jp/document/9.0/html/plpgsql-errors-and-messages.html

「printfデバッグ」はどこでも使えて非常に便利なのですが、手間がかかるのが難点です。

■PL/pgSQLデバッガ by EnterpriseDB


PostgreSQLサポート企業の一社であるEnterpriseDB社は、PostgreSQLを独自に拡張したり、便利なツール類を開発して、そのコンサルティングやサポートを提供していますが、そのEnterpriseDB社の提供するツールの中に「PL/pgSQLデバッガ」があります。

2013年4月12日

ExcelからPostgreSQLにODBC接続してピボットテーブルを作成する

Excelのピボットテーブルは、データ集計・分析を手軽に行う方法として、非常によく使われているツール・機能であると言えるでしょう。



今回は、ExcelからPostgreSQLに接続して、データベース内のデータを用いてピボットテーブルを作成する方法をご紹介します。サンプルとして以下のような項目とデータを含む「注文情報」というテーブルを使ってピボットテーブルを作成してみます(PostgreSQLのデータベース内に作成してあるテーブルで、上記のピボットテーブルはサンプルデータから作成したものです)。



今回の環境はWindows7とExcel 2010ですが、多少バージョンが違ってもほぼ同じようにできると思います。

■手順の概要


ExcelからPostgreSQLに接続してピボットテーブルを作成する基本的な手順は以下の通りです。
  • PostgreSQL用のODBCドライバをインストールする
  • ODBCデータソースの設定を行う
  • Excelで外部データソースに接続する
  • Excel上でピボットテーブルを作成する
それでは順を追って見てみます。

2013年4月4日

【リリース情報】セキュリティリリース(9.2.4、9.1.9、9.0.13、8.4.17)が出ています

先日予告されていた通り、PostgreSQLのセキュリティリリースとして、新しいバージョン9.2.4、9.1.9、9.0.13、8.4.17が公開されました。 本セキュリティリリースのFAQも公開されています。 ここでは、セキュリティリリースのFAQのうち、主要な部分を対訳形式で掲載します。(翻訳に当たっては最善は尽くしていますが)当然ながら非公式な翻訳ですので、詳細は原文をご確認ください。

誤訳や改善の余地などがありましたら、コメント欄などにてフィードバックいただけると助かります。


2013-04-04 Security Release FAQ
2013-04-04 セキュリティリリースFAQ


While this FAQ covers the 2013-04-04 PostgreSQL Security Update in general, most of its contents focus on the primary security vulnerability patched in the release, CVE-2013-1899.

このFAQは2013-04-04のPostgreSQLセキュリティアップデートをカバーしていますので、内容の大部分は、このリリースで修正された主要なセキュリティ脆弱性 CVE-2013-1899 にフォーカスしています。

Who is particularly vulnerable because of this issue?
実際にこの問題によって誰が脆弱性に晒されていますか?