2009年10月6日火曜日

groovyとPostgreSQLでテーブルを列挙する

groovyとPostgreSQLでテーブルを列挙するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/jtrac",
"postgres",
"postgres",
"org.postgresql.Driver")

query = "select schemaname, \
tablename, \
tableowner, \
tablespace, \
hasindexes, \
hasrules, \
hastriggers \
from pg_tables"

sql.eachRow(query){
// スキーマ名
println "schemaname:${it.schemaname}"
// テーブル名
println "tablename:${it.tablename}"
// テーブルオーナー
println "tableowner:${it.tableowner}"
// テーブルスペース
println "tablespace:${it.tablespace}"
// インデックスを持つか
println "hasindexes:${it.hasindexes}"
// ルールを持つか
println "hasrules:${it.hasrules}"
// トリガーを持つか
println "hastriggers:${it.hastriggers}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0, 8.4-701JDBC4

関連情報
pg_tables
http://www.postgresql.org/docs/8.4/interactive/view-pg-tables.html

0 件のコメント:

コメントを投稿