タグ

PostgreSQLに関するterazzoのブックマーク (63)

  • CakePHP PostgreSQLではgetInsertID()に注意

    @deprecated この情報はCakePHP1.2RC1までのものです。2008/06/26現在のリポジトリではチケットが反映され修正が完了しています。 CakePHP+PostgreSQLでModel#getInsertID()を使う場合、別セッションのシーケンス値が取得される問題があります。 問題点 ユーザ情報とその付加情報や、注文情報と明細情報などINSERT後にそのレコードに関連する情報としてid値を活用する場合、来とは異なるレコードに結びつく可能性があります。 ex) 別の注文情報に明細が登録される等 ただ、これはほぼ同時にINSERT文が発行された際に起こる現象ですので、それほど登録処理が行われないサイトではあまり遭遇するものではありません。(ですので、これまであまり表面化しなかったかと。) CakePHP1.2RC1/1.2-beta/1.1.19でこの問題があります。

    terazzo
    terazzo 2008/06/07
    どういう意図で変更したんだろう?>以前はCakeでもこのcurrval()を使って実装されていたわけですが、いつの頃か実装が変わって、現在のlast_valueを取得する形に変わっています。
  • PostgreSQL 8.3の全文検索機能(TSearch2)を日本語で利用する

    (Last Updated On: 2018年8月13日)PostgreSQL 8.3.0から、ユーザから提供されている追加機能(contrib)として利用できた全文検索機能(TSearch2)が体に取り込まれました。 体に取り込まれたため、PostgreSQL 8.3.0以降ではソースから構築する場合に ./configure make make install と実行するだけで全文検索機能が利用できるようになりました。 TSearch2は単語単位で全文検索できます。しかし、日語のように単語に区切りがない場合、単語に分解(形態素解析)してからインデックス化する必要があります。 # N-gramは使えません。 残念ながら日語をそのまま扱える機能はPostgreSQL 8.3では実装されていません.しかし、TSearch2(textsearch)を日語で利用するための追加機能がpg

    PostgreSQL 8.3の全文検索機能(TSearch2)を日本語で利用する
    terazzo
    terazzo 2008/04/06
    >@@(全文検索用の演算子)がTSearch2で利用されているためLudia(SennaのPostgreSQL用のバインディング)の全文検索演算子が@@から%%に変更
  • 「PostgreSQL」にセキュリティ・ホール,SQLインジェクション攻撃を許す

    PostgreSQL Global Development Groupは5月22日,オープンソースのデータベース管理システム(DBMS)「PostgreSQL 7.x/8.x」にセキュリティ・ホールが見つかったことを明らかにされた。不正なSQL文を送り込まれる「SQLインジェクション」攻撃を許して,データベース内の情報を操作される恐れなどがある。対策は,同日リリースされたバージョン 8.1.4/8.0.8/7.4.13/7.3.15にアップグレードすること。 今回見つかったセキュリティ・ホールは2種類。いずれもSQLインジェクション攻撃を許す恐れがあるもの。1つは,入力情報のチェックに関するセキュリティ・ホール。不適切にエンコードされた多バイト文字を含むパラメータを適切に処理できない場合があるという。このため攻撃者は,入力情報のチェック機構を回避して,不正なSQL文を送り込める可能性がある

    「PostgreSQL」にセキュリティ・ホール,SQLインジェクション攻撃を許す
    terazzo
    terazzo 2006/05/25
    SJISめ