misc.log

日常茶飯事とお仕事と

PostgreSQL

PostgreSQLの日付型について備忘録

仕事で調べたことをメモしておきます。 年月日時刻を保存する場合につかうtimestamp型ですが、(A) with time zone (B) without time zoneの2通りがあります。 timestamp with time zone DB内ではUTC(協定世界時)で保存。 呼び出しや書き込みの際は処理するク…

PostgreSQLのデータベース容量を調べる

お仕事でちょっと調べることになったのでSQLを貼っとく。 select datname, pg_size_pretty(pg_database_size(datname)) from pg_database order by pg_database_size(datname) desc; とりあえずこれでとれるはず。

PostgreSQLのバージョン情報を確認する

いつも微妙に忘れてて調べなおすのでメモしておきます。すでに動いているPostgreSQLのバージョン確認ですが、下記のSQLを実行すれば取得できます。 select version()これでとれる情報はこんな感じ。 PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled…

CodeIgniterのDB処理でLike検索を行った場合のバグ?

※CodeIgniter 2.1.4での話です(←今現場で使っているのがこれなので…)PHPの開発フレームワークであるCodeIgniterで、Like文を使った検索処理を行った際に内部で生成されるSQLがおかしくなるケースがあることがわかりました。とりあえず忘れないようにメモ。…

PostgreSQLでの文字列検索に関するメモ

PostgreSQLで、複数テーブル、列にまたがる複数キーワードによる部分一致検索を行う必要があり、ちょっと調べもの。対象は数文字の項目から1000文字を超える長文までさまざまという条件であるため、正直、「速い検索」が実現できるかどうか不安。関連する情…

PostgreSQLのbytea列にバイナリデータを突っ込む

結論。HEX化したデータをファイルとして取り込もうとしてもうまくいきません。権限が足りませんでした(そして権限を増やせる環境ではないので却下)。どうしたかというと、 事前にText型だけを持つ一時テーブルを用意する。 Vimのxxdコマンドを使ってHEX化…

PostgreSQLのtimestamp型、timezone有無はどう関係する?

PostgreSQLで年月日時刻を扱うにはtimestamp型を使うようですが、これには timestamp with timezone(timestamptzと略記される) timestamp without timezone の2通りがあります。どちらを使うべきなんでしょうか? 試してみる こんな感じでテーブルを作って…