PostgreSQL

ロックを実装する時に気をつけること

ロック処理の考察・前提としてロックは最小限にする(長いとロック待ちが多発)デッドロックは何かがおかしい必ず1人ずつ処理させる部分にロックを加えるDBにロック処理は任せる・ロックテーブルを一つにまとめるshare_lock 等のテーブルを用意この部分で一…

postgis.sql:47: ERROR: could not load library postgis-2.0.so

こんなエラーが出てハマったのでメモ。 PostGISインストール時にエラー「postgis-2.0.so”をロードできませんでした」 » memo PostgreSQL9.3系で起こるらしい。 無事にインストール出来ました。

PostgreSQL 8.1 の count(*) を高速化

PostgreSQL 8.1 で count(*) の取得が遅いので高速化してみた。↓高速化対応前 ec_shop=> EXPLAIN ANALYZE SELECT count(*) FROM order WHERE is_settled = 't' AND delete_flag = 'f'; QUERY PLAN---------------------------------------------------------…

文字化けした文字を調査

文字化けの原因を調査した。(ほぼ一日かかった。。。)特定の文字っぽかったので、文字のバイトコードを確認した。UTF-8で「能」という文字の一文字前。 if( $string = q/(.)\x{80FD}/ ) { print unpack("H*", $1); } 調べたら、「c28a」が取りだせた。その…