2009年12月25日金曜日

groovyとPostgreSQLで統計が取られているテーブルを一覧表示する

groovyとPostgreSQLで統計が取られているテーブルを一覧表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

query = """
select schemaname, tablename
from pg_stats
where schemaname = 'public'
group by schemaname, tablename
"""
// publicスキーマ内で統計が取られているテーブルを一覧表示
sql.eachRow(query){
// スキーマ名
println "schemaname:${it.schemaname}"
// テーブル名
println "tablename:${it.tablename}"
println "----"
}


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

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

0 件のコメント:

コメントを投稿