PostgreSQL
不整合が起きてはならない場合、トランザクションはシリアライザブル
リレーショナルデータベースが優れている点はトランザクションをサポートしている点です。トランザクションは手続きが一貫性ある形で実行されることを保証してくれます。しかし、トランザクションを使えばOK、という物ではありません。
PHP7で追加される整数型、浮動小数点型タイプヒントの問題点
PHP7では整数型、浮動小数点型、配列型のタイプヒントが追加されます。データ型をより厳格に取り扱うようになるのは良い事ですが、データ型を変換してしまうため問題となる場合もあります。 データ型は指定した型に変換すればよい、という単純な物ではありません。私はデータ型を変換しない方のRFCを支持していました。残念ながらこちらのRFCでなく、問題がある方のRFCが採…
知って得するPostgreSQLのRETURNING句
速いアプリケーションの作り方でPostgreSQLのRETURNING句に軽く触れましたが、この機能はデータベースチューニングで強力なツールになる場合があります。知って得する、知らなければ損をする、そんな機能がRETURNING句です。
PostgreSQLのJSONB型を利用してタグ検索を行う
遅れてしまいましたが、PostgreSQL Adventカレンダー2014の9日目です。昨年はタグ検索するならPostgreSQLで決まり!でPostgreSQLの特徴でもある配列型を使ったタグ検索を紹介しました。今年はJSONを使ってみたいと思います。
タグ検索するならPostgreSQLで決まり!
PostgreSQL Advent Calender 2013、13日目のエントリです。 表題の通り「タグ検索するならPostgreSQLで決まり!」です。
第一回 中国地方DB勉強会の資料
第一回 中国地方DB勉強会の講師として参加させて頂きました。 MySQLも使っていますが奥野さんの発表は普段気にしていなかったことも多く、とても参考になりました。 私の資料もSlideShareにアップロードしました。 データベースセキュリティ http://www.slideshare.net/yohgaki/ss-25042247 Postg…
知っているようで知らないプリペアードクエリ
PostgreSQL Advent Calender 2012用のエントリです。 PostgreSQLや他のDBMSを利用していてプリペアードクエリを知らない方は居ないと思いますが、プリペアードクエリを使いこなす為のTIPSです。役に立つかどうか、は多少疑問ですが、内部がどうなっているか知っているとなにかの役に立つかも知れません。時間的制約で多少端折っている…
PostgreSQL 9.0から使える識別子とリテラルのエスケープ
PostgreSQL Advent Calender用のエントリです。 エスケープ処理が必要なのにエスケープ用のAPIが無い状態は良くありません。エスケープしないために動かないのはまだ良い方です。エスケープが必要なのにエ スケープをしなくても動いてしまい、セキュリティ上の問題となる場合もあります。全てのアプリケーション・ライブラリはエスケープが必要なデータに…
OSC Tokyo – 今更聞けないSQLインジェクションの現実と対策
明日のOSC東京Fallでは「SQLインジェクション"ゼロ"のPostgreSQL利用法 - 今更聞けないSQLインジェク ションの現実と対策」と題したセッションを日本PostgreSQLユーザ会の講師として話をさせて頂きます。 SQLインジェクションはとうの昔に枯れた話題と思われていますが、古くても今の問題です。何年か前、日本PostgreSQLユーザ会の…
PostgreSQLカンファレンス2008
PostgreSQLカンファレンス2008が今週金曜日(6/6)に開催されます。 http://www.postgresql.jp/events/postgresql-conference-2008 例年通り参加費が必要ですが懇親会費込みです。 参加費: カンファレンス ならび に懇親会 4,000 円 チュートリアルも含むカンファレンス ならびに 懇親会 …
PostgreSQL 8.3の全文検索機能(TSearch2)を日本語で利用する
PostgreSQL 8.3.0から、ユーザから提供されている追加機能(contrib)として利用できた全文検索機能(TSearch2)が本体に取り込まれました。 本体に取り込まれたため、PostgreSQL 8.3.0以降ではソースから構築する場合に ./configure make make install と実行するだけで全文検索機能が利用できるように…
日本PostgreSQLユーザ会北海道支部 / Ruby札幌 合同セミナーのお知らせ
2月16日(土)に、日本PostgreSQLユーザ会(JPUG)北海道支部とRuby札幌の合同セミナーが開催されます。 日本PostgreSQLユーザ会北海道支部 / Ruby札幌 合同セミナーのお知らせ 私も講師の一人として参加させて頂きます。PostgreSQLとMySQLのベンチマークについて話す予定です。ご都合がよい方はお越しください。 有料と聞いて…
FreeBSD7はPostgreSQL, MySQLユーザにとって救いになるか?
http://people.freebsd.org/~kris/scaling/7.0%20Preview.pdf にFreeBSD7上でのPostgreSQLとMySQLのベンチマークが載っています。 PostgreSQL 8.2.4 - 11ページ ピーク性能でおよそ5400transactions/secほど。 MySQL 5.0.45 - 15ページ…
SET NAMESは禁止
MySQLには文字エンコーディングを変更する「SET NAMES」SQL文が用意されています。(PostgreSQLも同様のSQL文、SET CLIENT_ENCODINGがあります)この機能はSQLコンソールからは使ってよい機能ですが、アプリケーションからは使ってはならない機能です。SQLインジェクションに脆弱になる場合があります。 Ruby on Rai…
PostgreSQLカンファレンス2007
明日開催されるPostgreSQL2007は会場費等の為に2000円でローソンチケットでチケットを販売していました。ローソンチケット分は完売で現在購入できないそうです。しかし、当日券を会場にて販売(当日券は3000円だそうです)するそうです。もしチケットを入手できなかった方は現金で購入できるそうです。領収書も発行できるので仕事の都合がつく方は是非お越しくださ…