トラシスラボ 技術ブログでタグ「postgresql」が付けられているもの

概要

PostgreSQL 上に作成したテーブルに対し、Java で時刻を timestamp 型ではなくミリ秒(long 値)のまま格納した場合、それを select で timestamp 型として取り出すには以下のように SQL を記述する。
SELECT
    (lastaccess / 1000) :: text :: interval + '1970-01-01' :: timestamp
FROM
    table1;
lastaccess は bigint 型のカラム。これを1000分の1して秒単位にし、 epoch 秒(グリニッジ標準時間1970年1月1日00:00:00からの経過秒数) に足している。

例: DB に格納された tomcat のセッションでサイズの大きいものを見つける

次のような SQL を実行する。
SELECT
	length(data) as len,
	session_id,
	(lastaccess / 1000) :: text :: interval + '1970-01-01' :: timestamp
FROM
	tomcat_sessions
ORDER BY len desc
LIMIT 20;

tomcatでDB接続

|
Windows 環境において、tomcat で PostgreSQL に JNDI 経由で接続する手順をまとめた。

導入環境
tomcat インストールディレクトリ c:/usr/apache-tomcat-5.5.25
webapp ディレクトリ /home/webapps/test/WebContent
webapp を公開するパス /test

1. postgresql jdbc ドライバのインストール

  • PostgreSQL JDBC ドライバのダウンロードサイト から、使用している PostgreSQL サーバと同じバージョンの JDBC ドライバをダウンロードする。
    自分の場合は postgresql-8.2-508.jdbc4.jar をダウンロードした。
  • postgresql-8.2-508.jdbc4.jar を C:\usr\apache-tomcat-5.5.25\common\lib\ に置く。

2. context.xml 設定

apache-tomcat-5.5.25/conf/Catalina/localhost/test.xml を、次のような内容で作成する。

Eclipse All-In-One での設定方法

Eclipse All-In-One を使っている場合、プロジェクトのプロパティの「Tomcat」を開き、「その他の情報」のところへ次のように入力するとよい。

3. web.xml 設定

/home/webapps/test/WebContent/web.xml に次の記述を追加する。

4. プログラムからの呼び出し

2010年9月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30