2012-01-01から1年間の記事一覧

JSONをもっと便利に:json_accessors

本エントリは、PostgreSQL Advent Calendar 2012の12月22日分です。昨日@choplinさんがpg-jsonpathのこと書いたばかりでアレですが、空気読まずにJSONネタ続けます :-P

PostgreSQL 9.2 新機能: libpq の単一行モード

本エントリは、PostgreSQL Advent Calendar 2012の12月2日分です。PostgreSQL 9.2がリリースされてしばらく経ちますが、皆さんもうお使いでしょうか?IndexOnlyScanやCPUスケーラビリティ向上といった性能改善が大きなトピックになっていますが、細かいとこ…

相関副問い合わせ+max() vs ウィンドウ関数

きっかけ 社内で作っているシステムで「社員ごとに最新のXXXデータを一件ずつ取得したい」という要件があり、SQLで解決する方法を考えてみました。このエントリでは、pgbenchのpgbench_tellersテーブルを題材にして「branchごとに最も収支の良いtellerを一件…

PostgreSQLのドキュメントコンパイル

きっかけ postgresql_fdwという、外部のPostgreSQLのデータにアクセスするための外部データラッパを作成しているのですが、併せて説明ドキュメントも本体のドキュメントの一部として書いています。PostgreSQLのドキュメントは、SGMLベースのドキュメント記述…

PostgreSQLのドキュメントコンパイル

きっかけ postgresql_fdwという、外部のPostgreSQLのデータにアクセスするための外部データラッパを作成しているのですが、併せて説明ドキュメントも本体のドキュメントの一部として書いています。PostgreSQLのドキュメントは、SGMLベースのドキュメント記述…

Range Typeでパーティショニング

きっかけ 6/23に日本PostgreSQLユーザ会の夏セミナーで PostgreSQL 9.2 新機能の話をしてきました。会場から「範囲型を使うとレンジパーティションの定義や管理が楽に出来ますか?」という質問があり「できますよ〜」と簡単に答えてしまったのですが、本当に…

ANALYZEでのサンプルデータ抽出ロジック

ANALYZE のサンプルデータ抽出ロジックを少し調べたので備忘録として。PostgreSQL では、ANALYZE を実行したときにテーブルからサンプルデータを抽出し、それらの値に基づいて統計情報を作成しますが、サンプルデータの量(タプル数)は対象テーブルの各列の…

JPUG 第22回 しくみ+アプリケーション勉強会

1/21(土)に開催された勉強会の備忘録。 PHPを使ったSQLインジェクション対策(前半) 第四企画の坂井さんの発表。 '\t' などの意味を活かしたい場合は、standard_conforming_string = on のまま E'〜'と書くのがいいのでは。 リテラルに B'〜' や X'〜' なん…